assert 'c' ==~ (?i:[^c].*)
groovy控制台输出:
groovy> assert 'c' ==~ (?i:[^c-d].*);
^
1编译错误: 意外的标记: ? at line:1,column:17
为什么我在这里获得未经检测的令牌?
答案 0 :(得分:2)
你需要在paren之前逃跑......而且你不需要在不区分大小写的修饰符之后使用冒号。 (?i)很好。但是,要知道你的断言永远是“假的”。因为不区分大小写的c将永远不会匹配否定范围[^ c-d]。
assert 'c' ==~ /(?i)([^c-d].*)/
答案 1 :(得分:0)
假设您正在尝试构建的正则表达式是"任何字符串以不在C到D范围内的任何字符开头(不区分大小写)",那么您的": "应该是")(":
(?i)([^c-d].*)
(?i)
是"不区分大小写"的匹配标记。