读书人

Perl怎么匹配N多元字符转义字符

发布时间: 2012-03-22 17:43:57 作者: rapoo

Perl如何匹配N多元字符转义字符?
我想去匹配一个字符串“abcdefghijklmnOPQRSTUVWXYA 1234567890,.()!@#%^*{}[]-=+?> '*测试”(双引号之间的),代码如下


$real= "abcdefghijklmnOPQRSTUVWXYA 1234567890,\.\(\)!\@#%^*\{}\[]-=\+\?> \ '\*测试 ";
$expect= ',\.\(\)!\@#%^*\{}\[]-=\+\?> \ '\* ';
if ($real=~/$expect/)
{
print "YES\n ";
}
else
{
print "NO\n ";
}
print "$real\n ";
print "$expect\n ";


无论怎样,我都不能得到YES的结果!欲哭无泪~
问题好像出在下面几个字符: . ( ) !

[解决办法]

$real= "abcdefghijklmnOPQRSTUVWXYA 1234567890,\.\(\)!\@#%^*\{}\[]-=\+\?> \ '\*测试 ";
$expect= '\,\.\(\)\!\@\#\%\^\*\{\}\[\]\-\=\+\?\> \ '\* ';
if ($real=~/$expect/)
{
print "YES\n ";
}
else
{
print "NO\n ";
}
print "$real\n ";
print "$expect\n ";

把所有的符号都加上转义。

读书人网 >perl python

热点推荐