在另一个主题中
在 BBEDIT 中的 grep 搜索中正确使用了 OR 参数,因此想知道是否可以按如下方式扩展它:
是否可以在“查找”字段中给出一组具有不同答案的不同条目,还是只是一个接一个?
是否有(grep)符号或脚本可用于将以下查询作为单个查询运行:
string1|string2|string3|string4
代替 :string 5
stringA|stringB|stringC|stringD
代替 :string E
string@|string#|string$|string%
代替 :string £
现在我单独运行每个查询,但如果可以将它们组合在一个查找和替换查询中,那就太棒了!
答案1
这是使用 Notepad++ 或任何使用 boost regex 风格的工具完成此工作的方法。
- Ctrl+H
- 找什么:
(s1|s2|s3|s4)|(sA|sB|sC|sD)|(s@|s#|s\$|s%)
- 用。。。来代替:
(?1s5)(?2sE)(?3s£)
- 打钩 环绕
- 选择 正则表达式
- Replace all
解释:
(s1|s2|s3|s4) # group 1, 1 out 4 possibilities
| # OR
(sA|sB|sC|sD) # group 2, 1 out 4 possibilities
| # OR
(s@|s#|s\$|s%) # group 3, 1 out 4 possibilities
替代品:
(?1 # if group 1 exists
s5 # print s5
) # endif
(?2sE) # if group 2 exists, print SE
(?3s£) # if group 3 exists, print $£
截图(之前):
截图(之后):