正则表达式
发布时间:2020-12-13 22:20:06 所属栏目:百科 来源:网络整理
导读:《正则表达式》 1. b :匹配一个位置——单词的开头或结尾。 种类:位置。 eg: Pattern.matches("bhib","hi") 返回true; 即除"hi"外,没有其他任何字符。 2. . :除了换行符以外的任意字符。 种类:除换行符外的任意字符。数目:有且仅有一个。 eg: Patt
《正则表达式》
1.
b:匹配一个位置——单词的开头或结尾。 种类:位置。 eg: Pattern.matches("bhib","hi") 返回true; 即除"hi"外,没有其他任何字符。 2. .:除了换行符以外的任意字符。 种类:除换行符外的任意字符。数目:有且仅有一个。 eg: Pattern.matches("c.t","cat") 返回false; Pattern.matches("c.t","caat") 返回false; 3. *:前面的字符出现0次或多次。(与前面的字符构成一个整体,组合使用) 种类:与*前面的字符完全相同。数目:零次或多次。 .与*组合可表示任意长度的任意内容的字符串。 eg: Pattern.matches("c.*t","cat") 返回true eg:所以.*就表示任意长度的任意字符串。 4. d:匹配一位数字。 种类:数字。数目:有且仅有一个。 eg: Pattern.matches("cdt","ct") 返回false Pattern.matches("cdt","c8t") 返回true 5. {sum}:前面的字符必须连续出现不多不少sum次。(与前面的字符构成一个整体,组合使用) {min,max}:前面的字符必须出现min到max次,即min<= N <=max {min,}:min或更多次。 种类:与前面的字符完全相同。数目:sum个。 eg: Pattern.matches("cd{0}t","ct") 返回true Pattern.matches("cd{1}t","ct") 返回false Pattern.matches("cd{1}t","c8t") 返回true Patter.matches("bad{0,3}b","a") 返回true Patter.matches("bad{0,"a1") 返回true Patter.matches("bad{0,"a123") 返回true Patter.matches("bad{0,"a1234") 返回false 6. s:匹配一个空白字符。 种类:空白字符(空白字符包含很多种,并不仅仅是空格。还有制表符(tab)、换行符、中文全角空格等)。 数量:有且仅有一个。 eg: Pattern.matches("cst","ct") 返回true —— 无空白字符 Pattern.matches("cst","c t") 返回true —— 有一个“空格”字符 Pattern.matches("cst","c t") 返回true —— 有一个“制表符” Pattern.matches("cst","c t") 返回false —— 由两个“空格”字符 7. w:大小写英文字母、数字、下划线。 种类:A-Z a-z 0-9 _。 数量:有且仅有一个。 eg: Pattern.matches("cwt","ct") 返回false —— 没有 【A-Z a-z 0-9 _】 Pattern.matches("cwt","cAt") 返回true Pattern.matches("cwt","cAAt") 返回false —— 多于一个 组合:w*就是任意数量的[A-Z a-z 0-9 _] eg: Pattern.matches("cw*t","cAa8_t") 返回true 8. +:前面的字符出现一次或多次。(与前面的字符构成一个整体,组合使用。) 种类:与前面的字符完全相同。数量:一次或多次 区别*:*重复0-n次,+重复1-n次。 9. ^:字符串开头 $:字符串结尾 种类:仅指一个位置。 eg: Pattern.matches("^ad{0,3}$","a") 返回true Pattern.matches("^ad{0,"a1") 返回true Pattern.matches("^ad{0,"a123") 返回true Pattern.matches("^ad{0,"a1234") 返回false 10. ?:前面的字符出现0次或1次。 种类:与?前面的字符相同。数量:0次或1次。 eg: Pattern.matches("a?","") 返回true Pattern.matches("a?","a") 返回true 11. [...]:相当于枚举。即出现且只能出现"..."中的一个 eg: Pattern.matches("[0-9]","") 返回false —— 没出现 Pattern.matches("[0-9]","0") 返回true Pattern.matches("[0-9]","01") 返回false —— 出现了不止一次 12. |:将两个匹配条件进行逻辑或运算。可以用“()”改变优先级。 eg: Pattern.matches("d{8}|d{5}","12345") 返回true Pattern.matches("d{8}|d{5}","123456") 返回false Pattern.matches("d{8}|d{5}","12345678") 返回true 13. ():将条件进行分组。 eg: Pattern.matches("(d{8}|d{5})|a[0-3]{2}","12345678") 返回true Pattern.matches("(d{8}|d{5})|a[0-3]{2}","123456") 返回false Pattern.matches("(d{8}|d{5})|a[0-3]{2}","12345") 返回true Pattern.matches("(d{8}|d{5})|a[0-3]{2}","a00") 返回true Pattern.matches("(d{8}|d{5})|a[0-3]{2}","00") 返回false 14.反义 W,S,D,B,[^x],[^aeiou] 见表3 15.向后引用: 若有多个分组"()",默认情况下,会自动将分组按从左到右的顺序编号为1、2、3...。 可以重复搜索前面某个分组匹配的文本,例如,1代表分组1匹配的文本。 eg: b(w+)bs+1b 会匹配例如:"go go"、"kitty kitty" Pattern.matches("b(w+)bs+1b+","go go" ) 返回true Pattern.matches("b(w+)b(s+1b)+","go go go go" ) 返回true ?<name>:可以用来指定组名。 eg: 16.附录 1.所有限定符的比较 2.要查找元字符本身,须用进行转义。 eg: Pattern.matches(".","a") 返回false Pattern.matches(".",".") 返回true
参考网站: 正则表达式30分钟入门教程 正则表达式 小事好 Java中使用正则表达式函数 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |