如何在Notepad ++中以特定字符串开头的行中查找单词

时间:2016-12-29 11:12:24

标签: regex notepad++

我在Notepad ++中有以下示例数据:

ES value="tren";
FR value="train";
EN value="train";
PT value="tren";
DE value="Zug";

我想选择并替换以“EN”开头的行中的“train”字样。我可以用RegEx做到吗?

2 个答案:

答案 0 :(得分:2)

您可以使用

查找内容^(EN\h.*")train(";)$
替换为$1NEW_WORD$2

<强>详情:

  • ^ - 开始行
  • (EN\h.*") - 第1组捕获EN,一个水平空格,然后除了换行符之外的任何0 +字符,尽可能多地直到最后" ...
  • train - 文字train子字符串
  • (";)$ - ";在该行的末尾。

enter image description here

答案 1 :(得分:0)

基于#WiktorStribiżew的答案,我用这种方式管理:

搜索: ^

详细说明:

  • EN\s开始一行
  • .*“EN”后跟空格
  • [^a-zA-Z]任何事情
  • Train单词前面的最后一个字符不能是字母,这是为了避免在“cons train t”等情况下替换单词
  • $这个词寻找
  • 除了\1Boat\2之外,该行的其余部分遵循相同的逻辑,这只是表示该行的结束。

替换: \1

详细说明:

  • \2和{{1}}指的是上面搜索中的括号组。所以我将离开搜索括号的结果,只修改“训练”部分。

我不确定为什么其他答案的语法在Notepad ++中对我不起作用,但这很有效。

希望这有帮助。