删除除单词以外的所有内容

时间:2021-05-26 18:14:04

标签: regex notepad++ google-sheets-api

我花了好几个小时在正则表达式中寻找一种方法来删除一行中除特定文本之外的所有内容。它会是这样的:

之前:

Caracas
UNUSABLE TEXT Caracas UNUSABLE TEXT 
Caracas

之后:

Caracas
Caracas
Caracas
Caracas

我对此做了很多测试:

查找: .(text_you_need_to_keep).

替换: $1

但我无法让它工作。

1 个答案:

答案 0 :(得分:2)

你可以使用

查找内容(Caracas)|\R*(?:(?!Caracas).)+\R*
替换为(?{1}$1:\nCaracas\n)

详情

  • (Caracas) - 第 1 组:Caracas
  • | - 或
  • \R* - 零个或多个换行符
  • (?:(?!Caracas).)+ - 除换行符以外的一个或多个字符(尽可能多),不开始 Caracas 字符序列
  • \R* - 零个或多个换行符

如果 Group 1 匹配,则替换为 Group 1 的值,否则替换为 Caracas,两端为换行符。

查看正则表达式演示:

enter image description here