- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
正则表达式基础及Java正则表达式应用
正则表达式基础及Java正则表达式应用陈敏刚 2016.7.15【引言】由于研究需要对日志信息、视频信息作大数据的分析,特整理以下正则表达式的各种用法,比如如何提取Apache日志信息中的IP地址和访问时间,如何设计简单的网络爬虫程序等,主要通过Java语言描述,其它语言如Python思路也基本相通。正则表达式基本概念正则表达式,也叫 Regular Expressions,它实际上是用来搜索、匹配字符串的模式,是一种强大而灵活的文本处理工具。在Java中要使用正则表达式,则需要import java.util.regex,一般与Java I/O联合使用正则表达式一般要表达三个要素。(1)要匹配的字符,如[0-9];(2)字符的数量或者有几个这样的字符,如{2,4},即2-4个字符,需要用大括号括起来。(3)字符的位置在哪儿?如\b表示字符的边界,border。要熟悉以上正则表达式的基本元素,可以对应于正则表达式的要素,分为字符类、数量类和位置类。(1). 代表1个字符的通配符比如,t.n可匹配“tan,ten,ton,tpn”等(2)[]代表字符集,只有方括号里指定的字符才能参与匹配,方括号内只能匹配单个字符,但可用连字符-来表示范围,如[0-9]表示0-9中的一个数字;比如,t[aeiou]n,可匹配“tan,ten,ton”,但不匹配tpn、toon等。[^]表示排斥性字符集。比如,[^x][a-z]+,可匹配除x开头的所有单词。(3)()用来分组,在()内可以使用“|”操作表示“或”,方括号[]不能用“|”比如,t(a|e|i|o|u|oo)可匹配“tan,ten,ton”,还可匹配toon。(4)^表示起始位置、\b表示单词边界(a) ^的基本用法第一个例子的匹配是成功的,这是因为模式占据了整个输入的字符串。第二个例子失败了,是由于输入的字符串在开始部分包含了额外的空格。第三个例子指定的表达式是不限的空格,后跟着在行尾的 dog。第四个例子,需要 dog 放在行首,后面跟的是不限数量的单词字符。(b)对于检查一个单词开始和结束的边界模式(用于长字符串里子字符串),这时可以在两边使用\b,例如\bdog\b。(c)对于匹配非单词边界的表达式,可以使用\B来代替:(d)对于需要匹配仅出现在前一个匹配的结尾,可以使用\G:星号*表示 0个或多个加号+表示 1 或多个问号?表示0个或1个n就是写个数字表示重复多少次[0-9]+ 来查找年份,字符为数字,数字出现1个或多个。由于正则表达式比较难用,所以引入一些简写方式,比如\d表示数字(digit)[0-9],\s表示空白符(space)、\w表示单词字符(word)[a-zA-Z_0-9]。正则表达式写起来还是比较麻烦,因此经常需要利用工具,比如QRe,\b(href)=(‘[^’]+’)上面正则表达式的解释:两个圆括号()代表两个group\b表示单词边界,(href)表示group1(‘[^’]+’)表示group2,字符是‘开始,’结束,中间1个或多个非’字符,整个匹配字符串的称为group0正则表达式的基本应用Java中正则表达式,需要用到java.util.regex包,这个包主要有两个类,分别是Pattern类(模式类)和Matcher类(匹配类)。Pattern 对象表示一个已编译的正则表达式。Pattern 类没有提供公共的构造方法。要构建一个模式,首先必须调用公共的静态 compile 方法,它将返回一个 Pattern 对象,这个方法接受正则表达式作为第一个参数,把正则表达式字符串编译到一个用于处理匹配的模式对象中。Matcher 是在输入的字符串中定位模式的匹配的对象与 Pattern 相似,Matcher 也没有定义公共的构造方法,需要通过调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象。2.1字符串的分割//将正则表达式”[,\\s]+”编译成模式类对象p,\\s表示空格,并用了\表示转义符Pattern p = Ppile(“[, \\s]+”); //调用p的split方法分割字符串String[] result = p.split( one,two, three four , five );2.2字符串的匹配验证//开始的^表示字符串开始,结尾的$表示字符串结尾//@前表示1到多个非@字符//@后“[\\w]+”表示1到多个word,\\w表示\w的转义//“(file:///\\.[\\w%5d+)*\\.[\\w]+)*”表示多个”.word”的模式String pattern = ^[^@]+@[\\w]+(\\.[\\w]+)*$;String email = dstang2000@263.ne
您可能关注的文档
最近下载
- 2024年怒江州福贡县义务教育教师专项招聘真题.docx VIP
- 《搭石》第2课时公开课教学课件【部编人教版五年级语文上册】.ppt VIP
- 《海岸工程混凝土结构耐久性技术标准》GBT51464-2024知识培训.pptx VIP
- AQT3034—2022化工过程安全管理导则.pdf VIP
- 巴中市巴州区事业单位考试考试题库2024.docx VIP
- 小学数学新西师版一年级上册全册教案(2024秋).doc
- 2025年秋新教科版三年级上册科学全册精编教案教学设计(新教材).docx
- 《第4单元 花卉盆景技术——水仙盆景的设计与制作课件》初中劳动技术沪科教版七年级课件7216.ppt VIP
- 2025年新教材道德与法治三年级上册第一单元《做学习的主人》教案设计.docx VIP
- 惠普 HP E87640 E87650 E87660 彩色数码复印机中文维修手册.pdf VIP
文档评论(0)