0

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

我发现下面的正则表达式\b\d{12}\b会给我 12 位数字,现在我只需要删除每一边的所有信息。我看了看,发现一些帖子建议用\t$1, $1\n ,替换$1/1但是所有这些都与我想要的完全相反,只是删除了 12 位字符串。

4

2 回答 2

1

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

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

演示

解释:

  • ^[^ ]*\/--> 匹配任何期望从字符串开始到找到一个空格的内容/
  • \?[^ ]*$--> 同样,这匹配除了从?输入到结束的空格之外的任何内容。
于 2018-11-30T17:39:04.313 回答
0
  • Ctrl+H
  • 找什么:^.*/([^?]+).*$
  • 用。。。来代替:$1
  • 检查环绕
  • 检查正则表达式
  • 取消选中. matches newline
  • Replace all

解释:

^               # 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
于 2018-11-30T17:49:46.727 回答