正则表达式匹配 URL 中的所有参数
Regex to match all parameters in an URL
我有一个包含参数的 URL 列表,我需要删除所有参数。
示例数据:
https://www.example.com/highlights/on-sale-01304&sa=U&ei=2ca1VJXQOYHnsASG3YGYCg&ved=0CBMQFjAA&usg=AFQjCNHucW7fFrA35qeeJbUlAbsPFQNxLg
https://www.example.com/collections/view-all-01240&sa=U&ei=2ca1VJXQOYHnsASG3YGYCg&ved=0CBgQFjAB&usg=AFQjCNGhZzf7rsslCqgHSngyFAbw_nQmvQ
https://www.example.com/highlights/overstock-and-clearance-01217&sa=U&ei=2ca1VJXQOYHnsASG3YGYCg&ved=0CB0QFjAC&usg=AFQjCNHMfQBA4AP51_ikOGyoGEx-aB0-wQ
我试过这个(\?|\&)([^=]+)\=([^&]+)
但是它一次只匹配一个参数并且基本上需要匹配?
符号之后的所有内容。
您需要在所有字符 类 中包含一个 \n
字符。因为 [^=]+
也匹配换行符。
([?&])([^=\n]+)\=([^&\n]+)
然后将匹配到的字符替换为空字符串
如果你想去掉 '?' 之后的所有内容,请使用类似 /?.+/g
.
的内容
(?:\?|\&)(?:[^=]+)\=(?:[^&\s]+)
通过 empty string
尝试 this.See demo.Replace。
我有一个包含参数的 URL 列表,我需要删除所有参数。
示例数据:
https://www.example.com/highlights/on-sale-01304&sa=U&ei=2ca1VJXQOYHnsASG3YGYCg&ved=0CBMQFjAA&usg=AFQjCNHucW7fFrA35qeeJbUlAbsPFQNxLg
https://www.example.com/collections/view-all-01240&sa=U&ei=2ca1VJXQOYHnsASG3YGYCg&ved=0CBgQFjAB&usg=AFQjCNGhZzf7rsslCqgHSngyFAbw_nQmvQ
https://www.example.com/highlights/overstock-and-clearance-01217&sa=U&ei=2ca1VJXQOYHnsASG3YGYCg&ved=0CB0QFjAC&usg=AFQjCNHMfQBA4AP51_ikOGyoGEx-aB0-wQ
我试过这个(\?|\&)([^=]+)\=([^&]+)
但是它一次只匹配一个参数并且基本上需要匹配?
符号之后的所有内容。
您需要在所有字符 类 中包含一个 \n
字符。因为 [^=]+
也匹配换行符。
([?&])([^=\n]+)\=([^&\n]+)
然后将匹配到的字符替换为空字符串
如果你想去掉 '?' 之后的所有内容,请使用类似 /?.+/g
.
(?:\?|\&)(?:[^=]+)\=(?:[^&\s]+)
通过 empty string
尝试 this.See demo.Replace。