在 Notepad++ 中使用正则表达式重复文本

Using regex for repeating text in Notepad++

我有 link 个这样的:

https://d2ynliea65eb6o.cloudfront.net/6100052500-STXMLOPEN/sub_1.m3u8
https://d2ynliea65eb6o.cloudfront.net/6100052499-STXMLOPEN/sub_1.m3u8
https://d2ynliea65eb6o.cloudfront.net/6100052498-STXMLOPEN/sub_1.m3u8

如何在 Notepad++ 中使用正则表达式使它们像这样:

https://d2ynliea65eb6o.cloudfront.net/6100052500-STXMLOPEN/6100052500-STXMLOPENsub_1.m3u8
https://d2ynliea65eb6o.cloudfront.net/6100052499-STXMLOPEN/6100052499-STXMLOPENsub_1.m3u8
https://d2ynliea65eb6o.cloudfront.net/6100052498-STXMLOPEN/6100052498-STXMLOPENsub_1.m3u8

我想为每个 link 重复 net//sub 之间的内容。

我假设您想重复最后一个 / 之前的字符。

您可以试试这个正则表达式:

  • 正则表达式
([^/\n]+)/(?=[^/\n]+$)
  • 换人
/
([^/\n]+)       // any consecutive non-slash and non-linebreak characters, and capture them in group 1
/               // a slash
(?=[^/\n]+$)    // lookahead, there must be non-slash and non-linebreak characters followed by the end of a line ahead

勾选proof

如果您想实际搜索并重复“net/”和“/sub”之间的内容并重复,那么您可以使用:

 (net/(.*?))/sub

替换为:

 /sub

第二个 () 即 (.*?) 将创建组 $2,它将包含出现在 net/ 和 /sub 之间的变量文本

不包含 /sub 的第一个 () 将包含直到但不包括“/sub”文本的文本并将其放入 $1。如果你想包含“/sub”,你可以将“)”放在“/sub”的右侧。

然后 $1/$2sub 将是 $1 与“/”的串联,然后是 $2,然后是“sub”,然后是文本的其余部分