C#:解析超链接及其描述的优秀正则表达式是什么?
请考虑不区分大小写,空白区域以及在HREF标记周围使用单引号(而不是双引号).
只要没有嵌套标签(并且没有换行符),以下变体就可以正常工作:
(.*?)
一旦嵌套标签发挥作用,正则表达式就不适合解析.但是,您仍然可以通过应用现代解释器的更高级功能(取决于您的正则表达式计算机)来使用它们.例如.NET正则表达式使用堆栈; 我找到了这个:
(?:.*?)[""'].*?>)(? (?>(? )| (?<-DEPTH>)|.)+)(?(DEPTH)(?!))(?:)
资料来源:http://weblogs.asp.net/scottcate/archive/2004/12/13/281955.aspx