我有以下正则表达式:
@"{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
的引用,但这并非总是需要的。