我是regex的新手,无法创建表达式来解决我的问题。
我有一个像/abc/def%20hi%28hello%29test
这样的字符串。我想用%20
%28
,%29
和-
我知道他们三个都有不同的含义,但我可以用任何单个字符替换所有字符,我的意思是-
或甚至.
或''(空格)。
所以,我想把输出作为/abc/def-hi-hello-test
。
我想找到%
并将%[a-zA-Z0-9][a-zA-Z0-9]
中的三个字符替换为-
,但不起作用。
有些人可以帮我写一个只替换那些十六进制字符的正则表达式吗?
答案 0 :(得分:3)
答案 1 :(得分:0)
听起来你想要做的就是解码URL编码,我敢打赌你的宿主语言有内置的设施。在PHP中,那是{{3} }。
解码完URL后,您可以更轻松地修改想要修改的内容。