正则表达式只是不规则的

时间:2015-03-15 10:27:24

标签: regex perl

在Perl中编码并获得以下代码,尝试匹配至少包含两个字母的单词以及结尾字符为“Z”

if($_ =~ m/w{2,}z$/ig)

我正在阅读的文件包含以下字词:

ahahahahahahahahahahaz
sfafafasfasfasfsvxcvcxZ
abcdefghijklmnopqrstZ
abcdefghijklmnopqrstz

仅识别sfafafasfasfasfsvxcvcxZ。 我在这里错过了什么?

另外,我想检索单词可能是的情况: 将代码编写为thisisaword-iwanttoberecognizedZ就足够了   if($_ =~ m/D{2,}z$/ig)

1 个答案:

答案 0 :(得分:1)

w{2,}表示您希望看到两次w。试试\w{2,},这意味着您需要两个单词字符(字母):

if($_ =~ m/\w{2,}z$/ig)