- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《Java程序员:一刻钟精通正则表达式》.pdf
Java 程序员:一刻钟精通正则表达式
想必很多人都对正则表达式都头疼。今天,我以我的认识,加上网上一些文章,希望用常人都可以理解的表达方式来和大家分享学
习经验。
开篇,还是得说说 ^ 和 $ 他们是分别用来匹配字符串的开始和结束,以下分别举例说明:
^The: 开头一定要有The字符串;
of despair$: 结尾一定要有of despair 的字符串;
那么,
^abc$: 就是要求以 abc 开头和以 abc 结尾的字符串,实际上是只有 abc 匹配。
notice: 匹配包含 notice 的字符串。
你可以看见如果你没有用我们提到的两个字符(最后一个例子),就是说 模式(正则表达式) 可以出现在被检验字符串的任何地方,
你没有把他锁定到两边。
接着,说说 *, +,和 ?,
他们用来表示一个字符可以出现的次数或者顺序. 他们分别表示:
zero or more相当于{0,},
one or more相当于{1,},
zero or one.相当于{0,1}, 这里是一些例子:
ab*: 和 ab{0,}同义,匹配以 a 开头,后面可以接 0 个或者 N 个 b 组成的字符串(a, ab, abbb, 等);
ab+: 和 ab{1,}同义,同上条一样,但最少要有一个 b 存在 (ab, abbb, 等.);
ab?:和 ab{0,1}同义,可以没有或者只有一个 b;
a?b+$: 匹配以一个或者 0 个 a 再加上一个以上的 b 结尾的字符串.
要点, *, +,和 ?只管它前面那个字符.
你也可以在大括号里面限制字符出现的个数,比如
ab{2}: 要求 a 后面一定要跟两个 b(一个也不能少)(abb);
ab{2,}: 要求 a 后面一定要有两个或者两个以上 b(如abb, abbbb, 等.);
ab{3,5}: 要求 a 后面可以有 2-5 个 b(abbb, abbbb, or abbbbb).
现在我们把一定几个字符放到小括号里,比如:
a(bc)*: 匹配 a 后面跟 0 个或者一个bc;
a(bc){1,5}: 一个到 5 个 bc.
还有一个字符 │, 相当于 OR 操作:
hi│hello: 匹配含有hi 或者 hello 的 字符串;
(b│cd)ef: 匹配含有 bef 或者 cdef 的字符串;
(a│b)*c: 匹配含有这样多个(包括 0 个)a 或 b,后面跟一个 c 的字符串;
一个点(.)可以代表所有的单一字符,不包括\n
如果,要匹配包括\n在内的所有单个字符,怎么办?
对了,用[\n.]这种模式.
a.[0-9]: 一个 a 加一个字符再加一个 0 到 9 的数字
^.{3}$: 三个任意字符结尾 .
中括号括住的内容只匹配一个单一的字符
[ab]: 匹配单个的 a 或者 b ( 和 a│b 一样);
[a-d]: 匹配a 到d的单个字符 (和a│b│c│d 还有 [abcd]效果一样); 一般我们都用[a-zA-Z]来指定字符为一个大小写英文
^[a-zA-Z]: 匹配以大小写字母开头的字符串
[0-9]%: 匹配含有 形如 x% 的字符串
,[a-zA-Z0-9]$: 匹配以逗号再加一个数字或字母结尾的字符串
你也可以把你不想要得字符列在中括号里,你只需要在总括号里面使用^ 作为开头 %[^a-zA-Z]% 匹配含有两个百分号里面有
一个非字母的字符串.
要点:^用在中括号开头的时候,就表示排除括号里的字符。为了 PHP 能够解释,你必须在这些字符面前后加,并且将一些字符转义.
不要忘记在中括号里面的字符是这条规路的例外?在中括号里面
您可能关注的文档
- 《Java+Servlet和JSP教程》.pdf
- 《JAVA+Spring+Hibernate使用Jersey开发Rest_WEB_SERVICES》.doc
- 《Java+TCPIP+Socket编程%28中文版%29》.pdf
- 《java+五子棋+课程设计报告》.doc
- 《JAVA-SLl275中文版CR2》.pdf
- 《java-UDP实例程序2》.doc
- 《JAVA-WEB界面开发规范》.doc
- 《Java.Web整合开发王者归来之MySQL》.pdf
- 《Java07可视化程序设计》.ppt
- 《Java1.5_泛型指南中文版》.pdf
- 2025年丰立集团有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版学生专.docx
- 2025年丰立集团有限公司校园招聘模拟试题附带答案详解参考答案.docx
- 2025年丰立集团有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版审定版.docx
- 2025年丰立集团有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版推荐.docx
- 2025年丰立集团有限公司校园招聘模拟试题附带答案详解1套.docx
- 2025年丰宾电子(深圳)有限公司校园招聘模拟试题附带答案详解最新.docx
- 2025年丰宾电子(深圳)有限公司校园招聘模拟试题附带答案详解附答案.docx
- 2025年丰宾电子(深圳)有限公司校园招聘模拟试题附带答案详解最新.docx
- 2025年山西省晋城市高平市中考一模历史试题(含答案).pdf
- 2025年丰立集团有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版最新.docx
文档评论(0)