【发布时间】:2012-02-18 11:59:48
【问题描述】:
问this perl newbie question后,我有一个perl新手跟进。我发现了一种情况,在我的应用程序中使用单词边界失败,该应用程序执行此正则表达式搜索并替换一组文件:
s/\bcat\b/cat_tastic/g
我也希望 -cat 不匹配替换,尽管它目前是匹配的,因为连字符被认为是单词边界。我已经阅读了单词边界,但我了解到的是,在使用 \b 时创建对边界条件的更改并非易事。如何从搜索和替换中排除“-cat”?所以最终的结果是:
:cat { --> :cat_tastic {
:catalog { --> no change
-cat { --> no change
这不一定是单行搜索和替换的一部分,它也可以是搜索和替换之前的一个条件,它控制是否执行搜索和替换,尽管将它放在搜索和替换中会最有用。
【问题讨论】: