要明确,正则表达式是用来方便地匹配字符串的
Pattern pattern = Pattern.compile("\\d+");//创建匹配数字字符的模式
匹配模式的意思就是一个模板,用几个符号表示你想匹配的东西,就叫做匹配模式。
例如:
\\d+,代表匹配一个或多个字符,其中‘\d’代表匹配数字,等效于[0-9]。
反斜杠用来转义,因为\d本身有特殊的含义,所以让最前面
的那个反斜杠将第二个反斜杠变为一个字符'\',这样就可以使\d是一个符号了
’+‘代表匹配前面的字符或子表达式一次或多次,比如:"wsx+"可以和
"wsxw"、"wsx"、"swsxx"等等匹配,不可以和"ws"、"sxw"等等匹配
我们会用到工具类Matcher,中文就是匹配的意思。
Matcher的一个实例代表一个用来操作匹配字符串的对象。
Matcher常用的方法有find()、start()、end()
<1> find()用于查找是否有想找的那个字符,有的话返回true
<2> start()返回上一个匹配项的起始索引
<3> end()返回上一个匹配项的末尾索引
这三种方法可以与循环结合起来,没有匹配的话它会自动迭代,继续往下找,
直至匹配结束。
下面是一个从字符串中获得数字的一个实例:
String str = "cheems123cheems456cheems789";
//1.创建匹配模式
Pattern pattern = Pattern.compile("\\d+");//匹配一个或多个数字字符
//2.选择匹配对象
Matcher matcher = pattern.matcher(str);
//与谁匹配?与参数字符串str匹配
int count = 0;
while (matcher.find())//matcher.find()用于查找是否有这个字符,有的话返回true
{
System.out.println("第" + (++count) + "次找到");
//start()返回上一个匹配项的起始索引
//end()返回上一个匹配项的末尾索引。
System.out.println(str.substring(matcher.start(),matcher.end()));
}
结果:
由于是初学者,如有错误请大力指出,我一定虚心接受
参考:Java简单的正则表达式匹配操作
上一篇
下一篇