我在Perl脚本中有一个子例程,如果传递给它的字符串包含任何4个字符,这些字符与内部对'abba','baab','周围的外部对的模式相匹配,则返回true
acca',等等。它不应该匹配'aaaa'。我不明白为什么正则表达式不起作用。我希望以下内容应该打印'found',但事实并非如此。
print 'found' if 'abba' =~ /(.)q(?!\g1)(.)\g2\g1/;
我的正则表达式出了什么问题?
答案 0 :(得分:5)
你的模式中有一个迷路q
。
$ perl -le'print "found" if "abba" =~ /(.)(?!\g1)(.)\g2\g1/;'
found