Perl匹配abba模式

时间:2016-12-10 04:30:29

标签: regex perl

我在Perl脚本中有一个子例程,如果传递给它的字符串包含任何4个字符,这些字符与内部对'abba','baab','周围的外部对的模式相匹配,则返回true acca',等等。它不应该匹配'aaaa'。我不明白为什么正则表达式不起作用。我希望以下内容应该打印'found',但事实并非如此。

print 'found' if 'abba' =~ /(.)q(?!\g1)(.)\g2\g1/;

我的正则表达式出了什么问题?

1 个答案:

答案 0 :(得分:5)

你的模式中有一个迷路q

$ perl -le'print "found" if "abba" =~ /(.)(?!\g1)(.)\g2\g1/;'
found