Java Pattern的用法是啥
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Pattern的用法是啥相关的知识,希望对你有一定的参考价值。
参考技术A 正则表达式中的特殊字符:\\ 反斜杠
\t 间隔 ('\u0009')
\n 换行 ('\u000A')
\r 回车 ('\u000D')
\d 数字等价于[0-9]
\D 非数字等价于[^0-9]
\s 空白符号 [\t\n\x0B\f\r]
\S 非空白符号 [^\t\n\x0B\f\r]
\w 单独字符 [a-zA-Z_0-9]
\W 非单独字符 [^a-zA-Z_0-9]
\f 换页符
\e Escape
\b 一个单词的边界
\B 一个非单词的边界
\G 前一个匹配的结束
^为限制开头 ^java 条件限制为以Java为开头字符
$为限制结尾 java$ 条件限制为以java为结尾字符
.为限制一个任意字符 java.. 条件限制为java后除换行外任意两个字符加入特定限制条件
[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-9[a-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范围中一个字符
[^0-9] 条件限制在非小写0 to 9范围中一个字符
[^0-9a-z] 条件限制在非小写0 to 9或a to z范围中一个字符
[^0-9[a-z]] 条件限制在非小写0 to 9或a to z范围中一个字符(交集)
在限制条件为特定字符出现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」
J2 JJ
J3 JJJ
文字a个以上,并且「a,」
J3, JJJ,JJJJ,JJJJJ,???(3次以上J并存)
文字a个以上,b个以下「a,b」
J3,5 JJJ或JJJJ或JJJJJ
两者取一「|」
J|A J或A
Java|Hello Java或Hello
「()」中规定一个组合类型比如,我查询<a
href=\"index.html\">index中<a
href>间的数据,可写作(.+?)
String name = "";
Pattern pattern = Pattern.compile("(.)*(\\w\\sV[0-9]3R[0-9]3C[0-9]2(B[0-9]3)?)");
Matcher m = pattern.matcher(name);
if(m.matches())
System.out.println("相同");
else
System.out.println("不相同");
Java.util.regex中matcher 和pattern的用法
求 一个 pattern 来match 2种 loop, 一个是 for loop 符合的pattern的形式是for (- ; - ; -) 还一个是while loop 要求的pattern是while (- Boolean operator -) (里面要求是逻辑算子) 想用这个方法 去寻找 有几个 for 和while loop 在一个 文档中 还有一个问题就是 如何去计算 有几个单词 在一个string里面例如"All Rights Reserved" 有3个单词, 只要是没有空格并且连续的字母后面可以跟符号或者是空格 都算是一个单词
这是我的总结:java.lang包中的String类,java.util.regex包中的Pattern,Matcher类中都有matches()方法。
都与正则表达式有关。下面我分别举例:(字符串:"abc",正则表达式: "[a-z]3")
String类的方法:
boolean b = "abc".matches("[a-z]3"
System.out.println(b);
Pattern类中的方法:
boolean b = Pattern.matches("[a-z]3","abc");
System.out.println(b);
Matcher类中的方法:
Pattern p = Pattern.compile("[a-z]3");
Matcher m = p.matcher("acc");
boolean b =m.matches()
System.out.println(b);
得到的结果都为true。 参考技术A for循环可以这样匹配
for\s*\([^;]+;[^;]+;[^\)]+\)
while循环可以这样匹配
while\s*\(.+\)
至于统计单词只要匹配如下的就可以了
\w+(?=[^\w]+)
亲测可行
如有疑问可以到我个人网站留言(见个人资料),将为你一一解决
以上是关于Java Pattern的用法是啥的主要内容,如果未能解决你的问题,请参考以下文章