java - 对命名组使用 OR 运算符
问题描述
在正则表达式 java 中,我们可以使用这样的命名组(?<group_name>pattern)
。它还支持这样的 OR 运算符(pattern1|pattern2)
。我可以使用命名组和 OR 运算符(pattern1)|(pattern2)
吗?也就是说,如果组中的一个模式匹配,则结果为真。
谢谢!
解决方案
If you search for "name" in this page, you will find this:
Special constructs (named-capturing and non-capturing)
(?<name>X)
X, as a named-capturing group
So yes you can use named groups:
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
}
推荐阅读
- c# - 想填一个
从字典填充 ToggleButtons - mattermost - Mattermost API 使用 powershell 创建直接消息通道
- postgresql - 使用 terraform 创建只读 postgres 用户
- python - djangorestframework ModelSerializer 序列化模型对象但数据为空{}
- python - 为什么当python后台另一个值发生变化时输入命令不起作用
- python - dict中函数的执行顺序
- python - 嵌套案例 sqlite 查询
- python - 计算嵌套 for 循环中的行数
- c - 如何在C中对哈希表进行排序
- c++ - 模板类在非类型参数上的部分特化