2022年正则表达式 .pdf
《2022年正则表达式 .pdf》由会员分享,可在线阅读,更多相关《2022年正则表达式 .pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、正则表达式-REGEX 很多人都知道正则表达式,知道它强大的功能.有些人会写,却不知道怎么用;甚至有些人连正则表达式都还不会写.只要你曾经学会了一门语言中的正则表达式的使用,那么相信Java中的正则表达式也不难,其他语言用法也不离其终.下面我一一给大家讲解.正则表达式和Java语法没有关系,它是 JDK1.4版本引入的内容,Java中对正则表达式的操作被封装在几个类中.有 java.util.regex.Pattern,java.util.regex.Matcher.正则表达市的介绍:1.可以使用字符作为一个通配符来代替除换行符(n)之外的任意一个字符,例如:.at可以与cat,sat,mat
2、等匹配.通常,这种通配符用于操作系统中文件名匹配.2.a-zat,任何含在 中的内容都是一个字符,只匹配一个字符.如:a-zA-Z代表所有大小写字母.3.a-z.匹配任何不属于a-z中的字符.4.a-z&hij.匹配 hij任何一个(交集)5.s.匹配空字符(空格,tab,n,换页,回车)6.S.匹配非空字符(和s一样)7.d.匹配数字,相当于 0-9 8.D.匹配非数字,相当于 0-9,匹配中文,空格,换行符9.w.匹配词字符,相当于 a-zA-Z0-9,不包含中文,不能代表空格,换行符10.W.匹配非词字符,相当于 w,匹配一个中文字逻辑运算符:|:管道符.如:x|y表示 x 或 y():
3、捕获组.(abc)|(xyz)表示 abc 或 xyz 边界匹配符:从头匹配名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 10 页 -$:从尾匹配b:词界.B.非词界量词:量词描述一个模式吸收输入文本的方式.*:前面字符或组匹配0 或多个+:前面字符或组匹配1 或多个?:前面字符或组匹配0 或 1 个n:前面字符或组的数量为n 个n,:前面字符或组的数量至少n 个n,m:前面字符或组数量至少n 个,最多 m个Java中正则表达式匹配过程:Pattern 设定正则表达式 java.util.regex Matcher 利用 Pattern对象所包含的正则表达式来作字符匹配工作pu
4、blic static Pattern compile(String regex)public static Pattern compile(String regex,int flags)flags为匹配模式:CASE_INSENSITIVE(?i):不区分大小写模式.DOTALL(?s):参数是让正则表达式.去匹配任何的字符,包括换行符号(默认情况下,不能匹配换行符).MULTILINE(?m):在多行模式下,和$分别匹配一行的开始和结束.还匹配输入字符名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 10 页 -串的开头,而$还匹配输入字符串的结尾UNIX_LINES(?d):
5、多行模式下匹配.,$时只识别行结束符n UNICODE_CASE(?u):当指定这个标记,并且开启了CASE_INSENSITIVE时,大小写不敏感的匹配将按照与unicode标准相一致的方式进行.我们可以在Pattern中同时应用多种模式,他们中间用|或+类分隔.public Matcher matcher(CharSequence input)根据参数来创建一个Matcher类对象.input:要进行匹配的字符串.publc static boolean matches(String regex,CharSequence input)查看第二个参数给出的字符串是否匹配第一个参数的正则表达式
6、.public String split(CharSequence input)根据编译进入Pattern对象的正则表达式将参数给出的字符串进行拆分,拆分后的每一个部分都放在返回的数组中.public String split(CharSequence input,int limit)根据编译进入Pattern对象的正则表达式将参数给出的字符串进行拆分,拆分后的每一部分放在返回的数组中.limit是用来控制Pattern模式应用到第二个参数的次数(即正则表达式在字符串中引用limit次)如:String regex=http:/|.;Pattern p=Ppile(regex);String
7、ret=p.split(http:/);for(int i=0;i ret.length;i+)本文来自CSDN博客,转载请标明出处:http:/ 家都知道,正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a 到 z)以及特殊字符(元字符)组成的文字模式,它用以描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。自从 jdk1.4推出 java.util.regex包,就为我们提供了很好的JAVA 正则表达式应用平台。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 10 页 -因为正则
8、表达式是一个很庞杂的体系,所以我仅例举些入门的概念,更多的请参阅相关书籍及自行摸索。反斜杠t 间隔 (u0009)n 换行 (u000A)r 回车 (u000D)d 数字等价于 0-9 D 非数字等价于 0-9 s 空白符号 tnx0Bfr S 非空白符号 tnx0Bfr w 单独字符 a-zA-Z_0-9 W 非单独字符 a-zA-Z_0-9 f 换页符e Escape b 一个单词的边界B 一个非单词的边界G 前一个匹配的结束 为限制开头java 条件限制为以Java为开头字符$为限制结尾java$条件限制为以java为结尾字符.条件限制除 n以外任意一个单独字符java.条件限制为jav
9、a后除换行外任意两个字符加入特定限制条件a-z 条件限制在小写a to z范围中一个字符A-Z 条件限制在大写A to Z范围中一个字符a-zA-Z 条件限制在小写a to z或大写 A to Z范围中一个字符0-9 条件限制在小写0 to 9范围中一个字符0-9a-z 条件限制在小写0 to 9或 a to z范围中一个字符0-9a-z 条件限制在小写0 to 9或 a to z范围中一个字符(交集)中加入 后加再次限制条件a-z 条件限制在非小写a to z范围中一个字符A-Z 条件限制在非大写A to Z范围中一个字符a-zA-Z 条件限制在非小写a to z或大写 A to Z范围中一
10、个字符0-9 条件限制在非小写0 to 9范围中一个字符0-9a-z 条件限制在非小写0 to 9或 a to z范围中一个字符0-9a-z 条件限制在非小写0 to 9或 a to z范围中一个字符(交集)在限制条件为特定字符出现0 次以上时,可以使用*名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 10 页 -J*0个以上 J.*0个以上任意字符J.*D J与 D 之间 0 个以上任意字符在限制条件为特定字符出现1 次以上时,可以使用+J+1个以上 J.+1个以上任意字符J.+D J与 D 之间 1 个以上任意字符在限制条件为特定字符出现有0 或 1 次以上时,可以使用?JA
11、?J或者 JA 出现限制为连续出现指定次数字符aJ2 JJ J3 JJJ 文字 a 个以上,并且a,J3,JJJ,JJJJ,JJJJJ,?(3次以上 J 并存)文字个以上,b 个以下 a,bJ3,5 JJJ或 JJJJ或 JJJJJ 两者取一|J|A J或 A Java|Hello Java或 Hello()中规定一个组合类型比如,我查询index中间的数据,可写作(.+?)在使用 Ppile函数时,可以加入控制正则表达式的匹配行为的参数:Pattern Ppile(String regex,int flag)flag的取值范围如下:Pattern.CANON_EQ 当且仅当两个字符的 正规分
12、解(canonical decomposition)都完全相同的情况下,才认定匹配。比如用了这个标志之后,表达式au030A会匹配?。默认情况下,不考虑 规 范相等性(canonical equivalence)。Pattern.CASE_INSENSITIVE(?i)默 认 情 况 下,大 小 写 不 明 感 的 匹 配 只 适 用 于US-ASCII字符集。这个标志能让表达式忽略大小写进行匹配。要想对Unicode字符进行大小不明感的匹配,只要将UNICODE_CASE 与这个标志合起来就行了。Pattern.COMMENTS(?x)在这种模式下,匹配时会忽略(正则表达式里的)空格字符(译
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年正则表达式 2022 正则 表达式
限制150内