用于匹配逗号的perl脚本

时间:2017-07-14 13:01:15

标签: regex perl

我有一个从原理图生成的网表。该网表包括电源引脚。我试图编写一个perl脚本来从网表中删除电源引脚。 作为其中的一部分,我必须搜索与下面显示的模式匹配的字符串:

", );" 

我使用了以下代码,但无效

$line =~ s/,\s+\);//g 

我观察到模式以逗号结尾是匹配的,但是以逗号开头的模式或中间带逗号的模式不匹配。 关于如何开展这项工作的任何建议

2 个答案:

答案 0 :(得分:0)

你需要改用它:

s/,\s*\);//

你应该是防御性的,并且能够处理,)之间没有空格。你必须逃避)。有关详细信息,请参阅perldoc perlre

答案 1 :(得分:0)

谢谢大家。我发现了这个问题。问题是要识别的模式被分成两个不同的行。 “,”在一行后跟“);”在下一行。首先,iam删除新行字符并假设下一行将附加到当前行,这不会发生。因此,模式匹配不起作用。

要解决此问题,我必须再次阅读该文件,然后替换该模式。