我正在使用 C# 中的以下正则表达式
Regex find = new Regex("[,\"]url(?<Url>[^\\]+)\\u0026");
出现这个错误:
"System.ArgumentException: parsing "[,"]url([^\]+)\u0026" - Unterminated [] set.
我是正则表达式的新手,所以如果我错了请纠正我。正则表达式应该从文本匹配中提取 url,例如:
,url=http://domain.com\u0026
"url=http://hello.com\u0026
最佳答案
您需要使用逐字字符串:
Regex find = new Regex(@"[,""]url(?<Url>[^\\]+)\\u0026");
编辑:但是,我会将正则表达式更改为
Regex find = new Regex(@"(?<=[,""]url=)[^\\]+(?=\\u0026)");
那么整个匹配项就是 URL 本身。不需要捕获子组。
关于c# - 在 C# 中获取 "Unterminated [] set."错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7344450/