正则表达式:?:表示法(问号和冒号表示法)
我有以下Java正则表达式,我没有编写,并且正试图修改:
^class-map(?:(\\s+match-all)|(\\s+match-any))?(\\s+[\\x21-\\x7e]{1,40})$ ^ ^
与此相似。
请注意第一个问号。这是否意味着该组是可选的?对应的后面已经有一个问号)
。冒号在正则表达式中有特殊含义吗?
regex可以很好地编译,并且已经有JUnit测试显示它如何工作。只是我对为什么第一个问号和冒号存在感到有些困惑。
回答:
(?:
启动一个非捕获组。(
除非您在使用后从正则表达式中检索组,否则没有什么不同。请参阅什么是非捕获组?问号后跟冒号(?:)是什么意思?。
以上是 正则表达式:?:表示法(问号和冒号表示法) 的全部内容, 来源链接: utcz.com/qa/428560.html