Perl:为什么Regex双反斜杠字符不识别字符串与单反斜杠字符?[已关闭]

55ooxyrt  于 2023-10-22  发布在  Perl
关注(0)|答案(1)|浏览(153)

**已关闭。**此问题需要debugging details。它目前不接受回答。

编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答这个问题。
上个月关门了。
Improve this question
为什么Regex不给给予1?

>perl -e "$x = 'abcd\\e'; print \"$x\n\";  ($x =~ '\\e') ? print 1:print 0";
abcd\e
0
nhhxz33t

nhhxz33t1#

正则表达式($x =~ '\e')不匹配,因为'\e'试图找到一个后面跟有'e.'的反斜杠。然而,在字符串$x ('abcd\e')中,在'e.'之前有一个实际的反斜杠。要解决这个问题,请在正则表达式中使用一个反斜杠,如下所示:

固定正则表达式:

perl -e "$x = 'abcd\\e'; print \"$x\n\";  ($x =~ '\\\\e') ? print 1 : print 0";

通过这种调整,Regex将确实在字符串中找到反斜杠后跟'e',并且您的脚本将产生1的预期结果。

相关问题