我有以下正则表达式:

@"{0}(.+?)(?:{1}(.{4}?))*(?:{2}(.+?))?{3}", "\\[\\[\\[", "\\|\\|\\|", "\\/\\/\\/", "\\]\\]\\]


要查找包裹在[[[something]]],[[[something //// comment]]]中的项目。

我正在使用它来解析Web响应上的内容...

问题是,在我的网络响应中,我有几件事编码如下:

%5B%5B%5BPedido%20de%20Informa%C3%A7%C3%A3o%5D%5D%5D


因此,我无法确定它以[[[并以]结尾]]以及其他项目。

有没有办法在正则表达式方面解决此问题?

最佳答案

您可以使用以下辅助函数来取消转义该字符串:

Uri.UnescapeDataString("%5B%5B%5BPedido%20de%20Informa%C3%A7%C3%A3o%5D%5D%5D");


将产生:

"[[[Pedido de Informação]]]"


Note:也有HttpUtility.UrlDecode,但是需要添加对System.Web的引用,但这并非总是需要的。

10-08 06:33