我的输入文件中有一个字典单词列表,并且我正在尝试对具有按该顺序出现在单词中的所有元音(a,e,i,o,u)的单词进行模式匹配。它们不必紧挨着。现在,这是我的代码:
open(INFILE, "words.txt") or die "Can't open word.txt: $!";
while(<INFILE>){
$word = <INFILE>;
if($word =~ /[a-z][a-zA-Z]*a[a-zA-Z]*e[a-zA-Z]*i[a-zA-Z]*o[a-zA-Z]*u[a-zA-Z]*/){
print $word;
}
}
close(INFILE);
但是即使我知道我的输入中有一个带有这种模式的单词,我也没有返回任何单词。我能解释一下为什么吗?这是为了家庭作业。
编辑:第一个字母必须小写,所有元音必须小写。另外,在搜索 aeiou 模式时,我不能重复。
EDIT2:将匹配的单词示例是abstemiousness
,不匹配的示例是aAbstemiousness
(在找到 aeiou 的完整模式之前重复 e),(非字母 0),(以大写字母开头),(不低于发现案例)。badetikojuw.
ambeeiou
0abstemiousness
Taeiou
baEstmious
e