我正在寻找匹配HTML锚点中未包含的所有格式为foo:12345的文本。例如,我想从以下匹配线1和3:c#正则表达式来匹配特定文本
foo:123456
<a href="http://www.google.com">foo:123456</a>
foo:123456
我已经试过这些正则表达式没有成功:
负面预测尝试(错误匹配,但不包括最后一位数字)
foo:(\d+)(?!</a>)
负先行与非捕获分组
(?:foo:(\d+))(?!</a>)
负回顾后尝试(通配符似乎不支持)
(?<!<a[^>]>)foo:(\d+)
我假设你的最后一个例子意思是'(?] *>)foo:(\ d +)',这样它将在锚标记中匹配多于一个字符。 – Chris 2012-01-04 18:15:27
几乎每天都会问这个问题......用正则表达式解析HTML几乎总是[坏主意](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self -contained-tags) – 2012-01-04 18:28:36