例如,用一条线一样previous,我希望模式匹配的线条p,pr,pre,prev,等等,所有的方式达到previous.我不希望它匹配像prevalent或的行previse.除了明显的(^(p|pr|pre|prev|...|previous)$)之外,是否有一种模式可以实现这一目标?
注意:我不需要像上面的模式那样捕获它,而且我使用Perl的正则表达式风格(在Perl中).
/^p(r(e(v(i(o(u(s)?)?)?)?)?)?)?$/
Run Code Online (Sandbox Code Playgroud)
并且只是仔细检查它是否有效:
for (qw/p pr pre previous prevalent previse/) {
$result = (/^p(r(e(v(i(o(u(s)?)?)?)?)?)?)?$/? "yes" : "no");
print "Checking $_: $result\n";
}
Run Code Online (Sandbox Code Playgroud)
生产:
Checking p: yes
Checking pr: yes
Checking pre: yes
Checking previous: yes
Checking prevalent: no
Checking previse: no
Run Code Online (Sandbox Code Playgroud)