首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regex搜索并替换为条件:工作在Notepad++,不是在Powergrep吗?

Regex搜索并替换为条件:工作在Notepad++,不是在Powergrep吗?
EN

Stack Overflow用户
提问于 2016-06-21 10:52:35
回答 1查看 156关注 0票数 3

我在Notepad++中使用这个正则表达式来搜索和替换多个单词。

代码语言:javascript
复制
(good)|(great)|(fine)

(?1bad)(?2worse)(?3not)

问题是,它在Powergrep中不起作用,有办法改变它吗?问题是,Notepad++有有限的长度或正则表达式,而Powergrep没有,而且它还支持正则表达式列表。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-13 17:59:28

PowerGREP手册中,没有提到用条件替换。我建议你采用一种通用的方法来解决N搜索问题&只需3个步骤就可以替换(很明显,如果你只有3个单词可以替换,你可以先逐个替换):

第一步(添加标记)

代码语言:javascript
复制
(F_1)|(F_2)|(F_3)|...|(F_n)

{\1[R_1]}{\2[R_2]}{\3[R_3]}...{\n[R_n]}

其中(F_1, ..., F_n)分别是要用术语(R_1, ..., R_n)替换的单词(或正则表达式)。

在你的例子中:

代码语言:javascript
复制
(good)|(great)|(fine)

{\1[bad]}{\2[worse]}{\3[not]}

第二步(保持良好)

代码语言:javascript
复制
\{[^\[\]\{\}]+\[([^\[\]\{\}]*)\]\}

\1

第三步(删除邪恶)

代码语言:javascript
复制
\{\[[^\[\]\{\}]*\]\}

null

如果您正在使用的单词已经包括使用卷发和平方拼图,并且您不想犯错误,那么您可以使用其他标记(角括号、三首等)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37942450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档