正则表达
字符类 [abc]? ? ? ? ? ? ? ? ? ? ? ? ? ? ??匹配a、b、c任意一个字符 [^abc] ? 匹配除了a、b、c外的任意一个字符 [a-zA-Z] ? ? 匹配a-z或A-Z中的任意一个字符 [a-d[m-p]] ? ?匹配a-d或m-p中的任意一个字符,取交集,等价于[a-dm-p] [a-z&&[def]] ? ?匹配d、e、f中任意一个字符 [a-z&&[^bc]] ? 匹配a-z中除了b、c外的任意一个字符,等价于[ad-z] [a-z&&[^m-p]] ???匹配a-z中除了m-p范围内的任意一个字符,等价于[a-lq-z] ? 预定义的字符类 .? ? ? ? ? ? ? ? ? ? ? ? 匹配除了换行符以外的任意字符 d 匹配数字,等价于[0-9] D ? 匹配任意非数字的字符 h? ? ? ? ? ? ? ? ? ? ? 匹配水平空白字符(比如t) H ? ?匹配非水平空白字符[^h] s ? ? ? 匹配任意空白符 S ? ? ? 匹配任意不是空白符的字符 v ? ? ? 匹配垂直空白字符(比如n) V ? ? ?匹配非垂直空白字符[^v] w ? ? ?匹配字母或数字或下划线,等价于[a-zA-Z_0-9] W ? ? 匹配任意不是字母、数字、下划线、汉字的字符,等价于[^a-zA-Z_0-9]
^ 匹配字符串的开始 $ 匹配字符串的结束 b 匹配单词的开始或结束 B ? ?匹配不是以单词开头或结束的位置 G 前一个匹配的结束 [] 显示限制条件中的任意一个字符
* ? 重复零次或更多次 ? 重复零次或一次 + 重复一次或更多次 {n} ? 重复N次 {n,} ? ? 重复N到多次 {n,m} 重复N到M次符 示例 ◆ ^为限制开头 ^java 条件限制为以Java为开头字符 ◆ $为限制结尾 java$ ?条件限制为以java为结尾字符 ◆ . 条件限制除/n以外任意一个单独字符 java.. ? 条件限制为java后除换行外任意两个字符 ◆ 在限制条件为特定字符出现0次以上时,可以使用「*」 J* ? ? 0个以上J .* ? 0个以上任意字符 J.*D J与D之间0个以上任意字符 ◆ 在限制条件为特定字符出现1次以上时,可以使用「+」 J+ 1个以上J .+ 1个以上任意字符 J.+D J与D之间1个以上任意字符 ◆ 在限制条件为特定字符出现有0或1次以上时,可以使用「?」 JA? J或者JA出现 ◆ 限制为连续出现指定次数字符「{a}」 J{2} JJ J{3} JJJ ◆ 文字a个以上,并且「{a,}」 J{3,} ? JJJ,JJJJ,JJJJJ,???(3次以上J并存) ◆ 文字个以上,b个以下「{a,b}」 J{3,5} JJJ或JJJJ或JJJJJ ◆ 两者取一「|」 J|A ?? J或A Java|Hello ?Java或Hello ◆?「()」中规定一个组合类型 查询<a href=/"index.html/">index</a>中<a href></a>间的数据,可写作<a.*href=/".*/">(.+?)</a> ? Demo 方法一: 1 String rex = "[a-z[d-m]]"; 2 Pattern p = Pattern.compile(rex); 3 Matcher matcher = p.matcher("f"); 4 boolean matches = matcher.matches(); ? 方法二: 1 String rex = "[a-z[d-m]]"; 2 boolean matche = Pattern.matches(rex,"d"); ? PS: Pattern API(Java Platform SE 8)网址:https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |