MinFlower 2010-11-21 11:29:40
求JAVA中匹配<a href="xxx">的正则表达式!!!!
...全文
549 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
FY2693 2010-11-23
  • 打赏
  • 举报
回复
String[] hrefs = {
"<a href=\"xxx\">"
,"<a href = \"xxx\" >"
,"asfasfasdf sfa<a href = \" www.163.com \" >qweqwqwwqes saf"
};

//正则表达式
String forLink = "[\\S\\s]*<\\s*a\\s+href\\s*=\\s*\"[\\S\\s]*\"\\s*>[\\S\\s]*";

for(String href : hrefs){
boolean bool = href.matches(forLink);
if( bool )
System.out.println("Y");
else
System.out.println("N");
}

System.out.println("======================================");

Pattern pattern = null;
try{
pattern = Pattern.compile(forLink);
}
catch (Exception e){
e.printStackTrace();
}
for(String href : hrefs){
Matcher matcher = pattern.matcher(href);
if(matcher.find())
System.out.println("Y");
else
System.out.println("N");
}
haixiang710 2010-11-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fyboyz 的回复:]
String str = "<a href='(.+?)'"; 这个才对
[/Quote]
这个是简单的...
如果考虑周全一点就不一样了,假如标签<a href="">
a href之间空格多一格呢,或者href后面的连接用双引号呢..
krqw 2010-11-22
  • 打赏
  • 举报
回复
String str = "<a href='(.+?)'"; 这个才对
haixiang710 2010-11-22
  • 打赏
  • 举报
回复
很明显是要匹配出href里面的连接
String pattern = "(?i)<a//s*href=[\\"|\\']{1}(*)[\\"|\\']{1}//s*>";
-过客- 2010-11-21
  • 打赏
  • 举报
回复
如果仅仅是a标签的整体

String pattern = "(?i)<a[^>]*>";


如果要匹配出链接来

String pattern = "(?i)<a[^>]*?href=\"([^\"]*)\"[^>]*>";

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧