【请问】正则表达式在C#中的转义有关问题 !
【请教】正则表达式在C#中的转义问题 !!!!!!!!本帖最后由 tohen 于 2013-09-27 17:09:45 编辑因为有多个正则
【请教】正则表达式在C#中的转义问题 !!!!!!!!
本帖最后由 tohen 于 2013-09-27 17:09:45 编辑 因为有多个正则表达式,所以为了方便管理,将它们存入数据库中。
这些在“正则表达式测试器”上能正常运行,
但是带入C#中却捕捉不到相应的内容。
请问要怎么解决呢?
举个例子:
某个正则表达式为:
(?<=<li><a\s*href=\")(http:[^">]+)">([^<]+)</a><span\s*[^>]*time[^>]*>(\d{4}-\d{2}-\d{2})
C#中的代码如下,其中变量strRegList为读取数据库中的正则表达式
foreach (Match match in Regex.Matches(sb.ToString(), strRegList, RegexOptions.Singleline))
{
strHttp = match.Groups[1].Value.ToString();
strTitle = match.Groups[2].Value.ToString();
strDate = match.Groups[3].Value.ToString();
}
谢谢大家了! 正则表达式 c#
[解决办法]估计还是转义字符造成的吧
你上面给的html字符串,像引号这些都是转义了的,其实没有\这个符号的,只是用来转义引号的,所以正则表达式改成
(?<=<li><a\s*href=")(http:[^">]+)">([^<]+)</a><span\s*[^>]*time[^>]*>(\d{4}-\d{2}-\d{2})