正则表达式替换十六进制字符

Regex replace hexadecimal characters

我刚开始使用regex,无法创建表达式来解决我的问题。

我有一根像EDOCX1[0]的绳子。我想用-替换十六进制字符,即%20%28%29

我知道这三个词都有不同的含义,但我可以用任何一个字符来代替它们,我的意思是-,甚至.或''(空格)。

所以,我想得到的输出是/abc/def-hi-hello-test

我想找到%,用-替换%[a-zA-Z0-9][a-zA-Z0-9]中的三个字符,但没用。

有人能帮我写一个只替换十六进制字符的regex吗?


搜索:

1
%[a-fA-F0-9][a-fA-F0-9]

替换为:

1
-

示例:http://regex101.com/r/qr6xw7


听起来你真正想做的是解码URL编码,我敢打赌你的主机语言有一个内置的功能。在PHP中,这是URL解码。

解码URL之后,可以更容易地修改要修改的内容。