c# - 在 C# 中获取 "Unterminated [] set."错误

标签 c# regex

我正在使用 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/

相关文章:

c# - 退出代码 100。信号量过多

c# - 遍历 NewValues 集合并对所有内容进行 HTML 编码

使用 ToBase64String 的 C# 字符串编码

Python-第二次重复时删除一个字符

java - ReplaceAll 具有定义的替换编号 Java

java - 从链接获取 youtube id

regex - awk split()函数使用正则表达式还是精确的字符串常量?

c# - Global.asax 中的 Automapper 配置问题

c# - .NET (ApiController)/jQuery .ajax : what to return from POST?

sql - 你如何逃避这个正则表达式?