【发布时间】:2013-11-15 19:06:49
【问题描述】:
我正在学习如何使用正则表达式前瞻和后瞻。
我想像这样从文本中提取json值
{"html":"\n\t\t\t\t<table class=\"table\">"}
我正在像这样在 C# 上使用正则表达式
Regex.Match(text, "\"html\":\"([^(?<!\\\\)\"]*)").Groups[1].Value
或者
Regex.Match(text, "\"html\":\"((?<!\\\\$)[^\"]*)").Groups[1].Value
但它根本不起作用。我可以使用 C# regex 获得这个值吗?
【问题讨论】:
-
为什么不使用
JavaScriptSerializer?为什么是正则表达式? -
@Amadan 因为我正在学习正则表达式前瞻和后瞻。
-
lookahead 和lookbehind 被称为零长度断言。这意味着他们返回是否找到匹配项,但不返回匹配项。 regular-expressions.info/lookaround.html
-
@MikeCheel 没错!我想确保 [^"]* 不以“\”字符结尾