在正则表达式Java中,我们可以使用诸如(?<group_name>pattern)
这样的命名组。它还支持像(pattern1|pattern2)
这样的OR运算符。
我可以使用诸如(pattern1)|(pattern2)
之类的命名组和OR运算符吗?也就是说,如果组中的一个模式匹配,则结果为true。
谢谢!
答案 0 :(得分:1)
如果您在this page中搜索“名称”,则会发现:
特殊构造(命名捕获和非捕获)
(?<name>X)
X,作为命名捕获组
是的,您可以使用命名组:
Matcher m = Pattern.compile("(?<foo>a)|(?<bar>b)").matcher("a");
if (m.find()) {
System.out.println(m.group("foo")); // a
System.out.println(m.group("bar")); // null
}