RegEx组名称错误

时间:2014-03-14 20:44:15

标签: c# regex msdn

以下代码行:

Match match = Regex.Match(json, ".*\"access_token\":\"(?<;token>;.*?)\".*", RegexOptions.IgnoreCase);

给我错误:

ArgumentException:解析&#34;。* \&#34; access_token \&#34;:\&#34;(?&lt ;; token&gt;;。?)\&#34;。< / EM>&#34; - 组名无效:组名必须以单词字符开头。

我直接从以下代码获取此代码: http://msdn.microsoft.com/en-us/library/dn546687.aspx

3 个答案:

答案 0 :(得分:2)

;?<

之间有token个字符
(?<;token>;
   ^ here

删除它,它将消除错误。

答案 1 :(得分:0)

在您的RegEx中,您可以为您的小组命名,将其命名为“;令牌”(在&lt;和&gt;之间)。这是非法的。改为使用“令牌”。

Match match = Regex.Match(json, ".*\"access_token\":\"(?<token>;.*?)\".*", RegexOptions.IgnoreCase);

答案 2 :(得分:0)

正则表达式不正确。其中有半冒号需要删除。

使用此:

Match match = Regex.Match(json, ".*\"access_token\":\"(?<token>.*?)\".*", RegexOptions.IgnoreCase);