将 URL 十六进制代码转换为字符的正则表达式

Posted

技术标签:

【中文标题】将 URL 十六进制代码转换为字符的正则表达式【英文标题】:Regular expressions on converting a URL hex code into character 【发布时间】:2016-09-23 20:54:09 【问题描述】:

我有这个带有十六进制代码的示例 URL:

http%3a%2f%2fwww.pmi.com%2feng%2fcareers%2fpages%2fjob_details.aspx%3fjlang%3deng%26jcod%3dUS-02073

我想制定一个将这些十六进制代码转换为字符实体的正则表达式。

%2f => /

是否可以使用 reg 表达式将链接转换为此?

来自:

http%3a%2f%2fwww.pmi.com%2feng%2fcareers%2fpages%2fjob_details.aspx%3fjlang%3deng%26jcod%3dUS-02073

输出:

http://www.pmi.com/eng/careers/pages/job_details.aspx?jlang=eng&jcod=US-02073

点赞本站功能:http://www.url-encode-decode.com/?_ga=1.244038725.1379940417.1464232194

【问题讨论】:

使用javascript。 decodeURIComponent() 感谢@sweaver2112,但我也只有有限的选择,我正在使用软件,那么唯一接受的代码是正则表达式、C# 和 VB.net 【参考方案1】:

在 C# 中比 Regex 更容易:

using System.Net;

string URL = "http%3a%2f%2fwww.pmi.com%2feng%2fcareers%2fpages%2fjob_details.aspx%3fjlang%3deng%26jcod%3dUS-02073";
string DecodedURL = WebUtility.UrlDecode(URL);

【讨论】:

以上是关于将 URL 十六进制代码转换为字符的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

颜色字符串转换(正则)

将 c# 正则表达式转换为 javascript 正则表达式

将URL转换为正则表达式

Perl:使用正则表达式将十六进制编码的字符串解析为数组

如何将 Java 字符串转换为模式正则表达式?

使用 django 将 Python 正则表达式转换为路径时遇到问题