Java 正则表达式的简单使用
前言
Java 正则表达式的简单使用
示例
1 | Pattern pattern = Pattern.compile(">(application_[\s\S]*?)</a>",([\s\S]*?),"<br"); |
find 方法
public boolean find() 尝试查找与该模式匹配的输入序列的下一个子序列。
此方法从匹配器区域的开头开始,如果该方法的前一次调用成功了并且从那时开始匹配器没有被重置,则从以前匹配操作没有匹配到的第一个字符开始。
如果匹配成功,则可以通过 start、end 和 group 方法获取更多信息。
- matcher.group() 返回匹配到的子字符串
- matcher.start() 返回匹配到的子字符串在字符串中的索引位置.
- matcher.end() 返回匹配到的子字符串的最后一个字符在字符串中的索引位置.
group(0) 表示当前这一次匹配到的所有字符子串。 group(1) 表示当前这一次匹配到的第一个字符子串。
同理group(2) 表示当前这一次匹配到的第一个字符子串。第几个字串对应的是 Pattern.compile 中括号的位置
查找不包含某些字符串的
这里正则查找不包含 huidu、rd 的字符串
1 | ^(?!.*huidu*)(?!.*rd).*$ |
Matcher的find()和matches()方法不同
find()方法在部分匹配时和完全匹配时返回true,匹配不上返回false。
matches()方法只有在完全匹配时返回true,匹配不上和部分匹配都返回false。
参考链接