我遇到以下perl命令的问题 如何匹配文件中的所有“1234”字符串,但如果某些字符在“1234”之前连接然后它将不匹配,我的问题是:如果字符串“1234”在行的中间那么它不符合原因?
perl命令:
perl -pe 's/OLD/NEW/ if /^1234/' file
需要匹配的示例:
a ass 1234= OLD
bbb ddd 1234= OLD
1234= OLD
不需要匹配的示例:
a1234= OLD
sss q1234= OLD
答案 0 :(得分:2)
将^
更改为\b
。仅当1234
是单词的开头时才会匹配。 (如有必要,请参阅perldoc perlre
以获取有关“单词”构成内容的更多信息!)
答案 1 :(得分:0)
^
匹配“行的开头”。尝试删除正则表达式中的该字符。将其替换为空格字符。