【发布时间】:2015-01-16 10:02:30
【问题描述】:
正则表达式:(simple|complex)
文字:using simple with key value pairs using complex with key value pairs using simple with key value pairs
如果simple 值被使用而不是两次,有没有办法只匹配一次?
【问题讨论】:
-
不要使用全局修饰符,或者
^(?:(?!\bsimple\b|\bcomplex\b).)*\K(?:simple|complex)regex101.com/r/sY6eW6/3 -
你能解释一下吗
Is there any way to match only once the simple value if it's used and not two times? -
你是说要成功匹配,字符串必须只出现一次
simple,并且只出现一次complex?如果是这样,您可以使用:^(?=(?:(?!simple).)*?(?:simple)(?:(?!simple).)*$)(?=^(?:(?!complex).)*?(?:complex)(?:(?!complex).)*$).*?$ -
我想要的是,如果它发现简单,那么它应该只匹配一次,或者如果它发现复杂,它应该只匹配一次,如果它发现简单和复杂,它应该只匹配一次。
-
仅使用 2 个单独的匹配项而不使用全局标志?
标签: regex