正则表达式之环视(lookaround)

参考链接

正则基础之——环视(Lookaround)

环视(lookaround)

说明

环视是由《精通正则表达式》命名的,其他资料也有不同的叫法。
环视,大体分为顺序和逆序环视,以下是一个表格,表示了环视四种组合。

环视四种表示 哪一侧的表达式 是否匹配 环视分类
?<= 左侧 逆序
?<! 左侧 逆序
?= 右侧 顺序
?! 右侧 顺序

示例

1
2
3
4
5
6
7
8
9
//?=右侧匹配
String str="abbb";
Pattern p = Pattern.compile("a(?=bbb)");//a后面紧跟bbb
Matcher matcher = p.matcher(str);
System.out.println(matcher.find());//返回true
//?!右侧不匹配
Pattern p1 = Pattern.compile("a(?!bbb)");//a后面不紧跟bbb
Matcher matcher1 = p1.matcher(str);
System.out.println(matcher1.find());//返回false