作者在 2008-04-18 13:16:26 发布以下内容
天气: 舒适
心情: 高兴
java正则表达式的一个简单应用
要求:
查询页面内所有含“.do"的超链接,例如:
<a href="sample.do?test=2>SAMPLE</a>
正则表达式如下:
String str="<(\\s*)a(\\s+)([^\\/]*)(href)(\\s*)=(\\s*)([^<]+\\.)(do(?!\\w))[^<]+(<)(\\s*)(\\/a)(\\s*)>"
上式再次推翻(因为忽略了图片链接):
"<(\\s*)a(\\s+)([^<>\\/]*)(href)(\\s*)=(\\s*)([^<]+\\.)(do(?!\\w))[^<]+(<(\\s*)img[^<]+>)*(<)(\\s*)(\\/a)(\\s*)>";
注释:
^:Java中正则式的开始符
$:Java中正则式的结束符
\s*:任意个数的空格
\s+:1个或以上个空格
.*:任意内容
?!\w:非[A-Z]字母
备注:“\"在Java中必须转译,所以在表达式中很多"\\"的符号