Regex 我的perl中的escape_Q不';我不认识括号
我在一个文件中有两行,两端都是testInst_Wdata_w0_reg/Jreg_ff[0].SSS.nrRegex 我的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
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$/
末尾有美元符号吗?它将不匹配第一行,因为它以,
结尾。