如何在 Notepad++ 中为单词列表的所有实例添加相同的前缀?
How can I add the same prefix to all instances of a list of words in Notepad++?
我有一大段文字,其中包含每个单词列表的一个或多个实例。我需要为列表中每个单词的所有实例添加前缀。
这是我正在尝试做的一个例子 -
单词列表:
foo
bar
前缀:
xyz
之前的文本:
onklnagknaubosabdof foo dklfn fknk foo klnksdnia bar dsknska foo knkn bar
之后的文字:
onklnagknaubosabdof xyzfoo dklfn fknk xyzfoo klnksdnia xyzbar dsknska xyzfoo knkn xyzbar
如何在 Notepad++ 中执行此操作?或者是否有其他工具可以轻松地为我做到这一点?
- Ctrl+H
- 查找内容:
(?=\b(?:foo|bar)\b)
- 替换为:
xyz
- 取消选中匹配大小写
- 选中环绕
- 检查正则表达式
- 全部替换
解释:
(?= # start lookahead, make sure we have after:
\b # word boundary, to NOT match xyzfoo or foobar
(?: # start non capture group
foo # literally
| # OR
bar # literally
) # end group
\b # word boundary, to NOT match xyzfoo or foobar
) #end lookahead
给定示例的结果:
onklnagknaubosabdof xyzfoo dklfn fknk xyzfoo klnksdnia xyzbar dsknska xyzfoo knkn xyzbar
屏幕截图:
如果要将 foobar
替换为 xyzfooxyzbar
,请删除单词边界:
- 查找内容:
(?=(?:foo|bar))
我有一大段文字,其中包含每个单词列表的一个或多个实例。我需要为列表中每个单词的所有实例添加前缀。
这是我正在尝试做的一个例子 -
单词列表:
foo
bar
前缀:
xyz
之前的文本:
onklnagknaubosabdof foo dklfn fknk foo klnksdnia bar dsknska foo knkn bar
之后的文字:
onklnagknaubosabdof xyzfoo dklfn fknk xyzfoo klnksdnia xyzbar dsknska xyzfoo knkn xyzbar
如何在 Notepad++ 中执行此操作?或者是否有其他工具可以轻松地为我做到这一点?
- Ctrl+H
- 查找内容:
(?=\b(?:foo|bar)\b)
- 替换为:
xyz
- 取消选中匹配大小写
- 选中环绕
- 检查正则表达式
- 全部替换
解释:
(?= # start lookahead, make sure we have after:
\b # word boundary, to NOT match xyzfoo or foobar
(?: # start non capture group
foo # literally
| # OR
bar # literally
) # end group
\b # word boundary, to NOT match xyzfoo or foobar
) #end lookahead
给定示例的结果:
onklnagknaubosabdof xyzfoo dklfn fknk xyzfoo klnksdnia xyzbar dsknska xyzfoo knkn xyzbar
屏幕截图:
如果要将 foobar
替换为 xyzfooxyzbar
,请删除单词边界:
- 查找内容:
(?=(?:foo|bar))