Notepad ++删除所有非正则表达式的文本

时间:2018-11-30 17:35:38

标签: regex text notepad++

我有一个很大的URL列表,每个URL都有一个唯一的数字字符串,该字符串介于/?之间,我想从notepad ++中删除所有其他不属于这些的文本字符串。例如 www.website.com/dsw/fv3n24nv1e4121v/123456789012?fwe=32432fdwe23f3最终只能是123456789012

我已经知道以下正则表达式\b\d{12}\b将使我得到12位数字,现在我只需要除去掉落在每一面的所有信息即可。我看了一眼,发现一些建议用\t$1$1\n代替的帖子  ,$1/1,但是所有这些都与我想要的完全相反,只是删除了12位数字的字符串。

2 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式并将其替换为空字符串,

^[^ ]*\/|\?[^ ]*$

Demo

说明:

  • ^[^ ]*\/->匹配从字符串开头到找到/
  • 的所有期望空间
  • \?[^ ]*$->同样,它匹配从?到输入结束的所有空格。

答案 1 :(得分:0)

  • Ctrl + H
  • 查找内容:^.*/([^?]+).*$
  • 替换为:$1
  • 检查环绕
  • 检查正则表达式
  • 取消检查. matches newline
  • 全部替换

说明:

^               # beginning of line
    .*          # 0 or more any character but newline
    /           # a slash
    ([^?\r\n]+) # group 1, 1 or more any character that is not ? or line break
    .*          # 0 or more any character but newline
$               # end of line

给定示例的结果

123456789012