Perl怎么匹配N多元字符转义字符
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 ";
把所有的符号都加上转义。
我想去匹配一个字符串“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 ";
把所有的符号都加上转义。