|
现在,程序员已经能够书写正则表达式了,虽然不容易搞清此正则表达式所能完成的工作。通常发现正则表达式实际匹配
的比要求的更多,或者更少;或者比预期的更早,更晚,或者完全不匹配。
下面的程序用来测试一个模式,看它能匹配什么以及在什么地方匹配:
#! /usr/bin/perl
while(<>){ #一次取一行输入
chomp;
if(/YOUR_PARTTEN_GOES_HERE/){
print “Matched: |$`<$&>$’|\n”; #特殊的变量
}else{
print “no match: |$_|\n”;
}
这个模式测试程序是给程序员用的, 而非终端用户, 从它没有提示信息这点可以看出。它会将输入行和模式
YOUR_PARTTERN_GOES_HERE 进行比较。对于任何匹配上的行,它使用三个特殊变量($`, $&, $’)来指出是在什么地方匹
配上的。如果模式为/match/,输入为/beforematchafter/,你将看到如下信息:“Matched: |before<match>after|”,尖括号标明匹
配上的部分。你能立刻看到匹配上的行是否是你所希望的。 |
|