Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 我的perl中的escape_Q不';我不认识括号_Regex_Perl_Escaping - Fatal编程技术网

Regex 我的perl中的escape_Q不';我不认识括号

Regex 我的perl中的escape_Q不';我不认识括号,regex,perl,escaping,Regex,Perl,Escaping,我在一个文件中有两行,两端都是testInst_Wdata_w0_reg/Jreg_ff[0].SSS.nr A...testInst_Wdata_w0_reg/Jreg_ff[0].SSS.nr, B...testInst_Wdata_w0_reg/Jreg_ff[0].SSS.nr 我想比较一下常见的部分。但有“[]”,似乎无法匹配 我检查了其他线程,人们建议使用\Q,因为[]在模式中具有特殊意义 ($ref =~ m/\Q$matching_ref_end$/)) $matchin

我在一个文件中有两行,两端都是testInst_Wdata_w0_reg/Jreg_ff[0].SSS.nr

A...testInst_Wdata_w0_reg/Jreg_ff[0].SSS.nr, 

B...testInst_Wdata_w0_reg/Jreg_ff[0].SSS.nr
我想比较一下常见的部分。但有“[]”,似乎无法匹配

我检查了其他线程,人们建议使用\Q,因为[]在模式中具有特殊意义

($ref =~ m/\Q$matching_ref_end$/))
$matching\u ref\u end==testInst\u Wdata\u w0\u reg/Jreg\u ff[0]。SSS.nr

A...testInst_Wdata_w0_reg/Jreg_ff[0].SSS.nr, 

B...testInst_Wdata_w0_reg/Jreg_ff[0].SSS.nr
因此,我有上述,但它似乎不工作


有什么提示吗?

假设行确实以您声称的内容
$matching\u ref\u end
结尾

/\Q$matching_ref_end$/
应该是

/\Q$matching_ref_end\E$/
因为
\Q
正在转义
$

(实际上,它应该是
/\Q$matching\u ref\u end\E\z/
,除非您希望接受尾随换行。)


然而,您显示的其中一行实际上并不像您声称的那样以内容
$matching\u ref\u end
结尾。其中一个后面有一个逗号,您需要处理。

请阅读并查看代码中缺少的内容。
m/\Q$matching\u ref\u end$/
末尾有美元符号吗?它将不匹配第一行,因为它以
结尾。