正则表达式:?:表示法(问号和冒号表示法)
我有以下Java正则表达式,我没有编写,我正在尝试修改:
^class-map(?:(\\s+match-all)|(\\s+match-any))?(\\s+[\\x21-\\x7e]{1,40})$
^ ^
它与此类似。
请注意第一个问号。这是否意味着该组是可选的?相应的 之后已经有一个问号。冒号在正则表达式中是否有特殊含义?)
正则表达式编译良好,并且已经有 JUnit 测试显示它是如何工作的。只是我对为什么第一个问号和冒号在那里有点困惑。