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