Regex 匹配逗号的perl脚本

Regex 匹配逗号的perl脚本,regex,perl,Regex,Perl,我有一个从原理图生成的网络列表。此网络列表包括电源引脚。我正试图编写一个perl脚本来从网络列表中删除电源引脚。 作为这项工作的一部分,我必须搜索与以下模式匹配的字符串: ", );" 我使用了以下代码,但它不起作用 $line =~ s/,\s+\);//g 我观察到以逗号结尾的模式是匹配的,但以逗号开头的模式或中间带逗号的模式是不匹配的。 关于如何完成这项工作的任何建议您需要改用它: s/,\s*\);// 您应该具有防御性,能够处理、和)之间的空白。您必须退出)。有关更多信息,请

我有一个从原理图生成的网络列表。此网络列表包括电源引脚。我正试图编写一个perl脚本来从网络列表中删除电源引脚。 作为这项工作的一部分,我必须搜索与以下模式匹配的字符串:

", );" 
我使用了以下代码,但它不起作用

$line =~ s/,\s+\);//g 
我观察到以逗号结尾的模式是匹配的,但以逗号开头的模式或中间带逗号的模式是不匹配的。
关于如何完成这项工作的任何建议

您需要改用它:

s/,\s*\);//

您应该具有防御性,能够处理
之间的空白。您必须退出
。有关更多信息,请参见《perldoc perlre》。

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


要解决这个问题,我必须再次读取文件,然后替换模式。

您需要退出
模式应该是
,\s*\)
$line=~s/\,\s*\)\//gs@SSR1102:如果有输入标记,则该
/s
的值是什么be@ssr1012我已经试过了,但它对我不起作用。在perl中,逗号不需要转义。谢谢您的建议。但问题不在于匹配空格,而是匹配逗号,当模式以逗号开头时。