【问题标题】:URLs conversion in regex search/replace正则表达式搜索/替换中的 URL 转换
【发布时间】:2018-07-29 01:53:38
【问题描述】:

如何将带有正则表达式 sreach/replace 查询的 URL 从一种形式转换为另一种形式?例如:

http://www.example.com/Something/?a=123.321&b=456.432&c=789.123&primary=true

进入

https://example.net/#?bda=456.432&cfe=789.123&abc=123.321

所以只应保留参数 123.321、456.432 和 789.123。

【问题讨论】:

  • 使用 sed 还是在 notepad++ 中?正则表达式方言不同。

标签: regex sed notepad++


【解决方案1】:

捕获每个查询参数,然后以所需格式替换输出字符串中捕获的组。例如:

.+\?\w+=(\d+(?:\.\d+))&\w+=(\d+(?:\.\d+))&\w+=(\d+(?:\.\d+)).+

替换为

https://example.net/#?bda=\2&cfe=\3&abc=\1

https://regex101.com/r/qOGiBK/1

\1\2\3s 分别替换为第一个、第二个和第三个捕获组)

【讨论】: