我必须匹配字符串中的baab,sdds等序列,序列不应该在方括号内。 到目前为止,我已经使用了正则表达式
/([a-z])([a-z])\2{1}\1{1}(?![^[]*])/
它给了我想要的输出但是上面的正则表达式也匹配像bbbb这样的序列,这是不可取的。 我想有一些东西可以比较捕获group1和捕获group2不相等。到目前为止我没有找到任何有用的东西。
答案 0 :(得分:2)
我认为您可以在第1组(?!\1)
之后添加否定前瞻,以断言第一组后面的内容与第1组不同。
([a-z])(?!\1)([a-z])\2\1(?![^[]*])
如果您不希望自己的匹配位于方括号之间,则可以添加一个负面的后置(?<!\[)([a-z])(?!\1)([a-z])\2\1(?!])
来断言您的匹配不是以[
开头。 (如果您的引擎支持此功能)。