Java中的正则匹配 博客分类: Java JavaSwingXMLHTML
程序员文章站
2024-03-16 11:28:34
...
想用Java解析Html里面的标签,例如我要解析html里面的 <link rel="openid.server" href="http://www.xxxxxx.com" />。可以使用 javax.swing.text.html.parser 或者org.htmlparser 或者 javax.xml.parsers.SAXParser。不过,要求Html必须是一个规范的XML格式,而网页基本上都不符合。
所以采用正则匹配来解决。
matcher.find() 和 matcher.matches()的区别:matches是将整个输入串与模式匹配,find是查找输入串中与模式匹配的子串。但是为什么m.matches()在这里匹配不到呢?
所以采用正则匹配来解决。
import ... import java.util.regex.Matcher; import java.util.regex.Pattern; public final class HttpTookit { private static Log log = LogFactory.getLog(HttpTookit.class); public static String doGet(String url, String queryString) { ... return response; } public static void main(String[] args) { String x = doGet("http://www.xxxxx.com", ""); System.out.println(x); Pattern p = Pattern.compile(".* href=\"(.*)\" />.*"); Matcher m = p.matcher(x); //m.matches(); 不知道为什么这里匹配不到 if (m.find()) { System.out.println("m.group():" + m.group(1)); } } }
matcher.find() 和 matcher.matches()的区别:matches是将整个输入串与模式匹配,find是查找输入串中与模式匹配的子串。但是为什么m.matches()在这里匹配不到呢?
上一篇: 触发器(2)
推荐阅读
-
同步访问共享的可变数据 博客分类: Effective Java
-
Java中的正则匹配 博客分类: Java JavaSwingXMLHTML
-
同步访问共享的可变数据 博客分类: Effective Java
-
session在集群间的共享问题 博客分类: Java Web SessionSession共享分布式
-
session在集群间的共享问题 博客分类: Java Web SessionSession共享分布式
-
Java中的正则匹配 博客分类: Java JavaSwingXMLHTML
-
Android中Gson解析json数据使用@SerializedName注解与java对象不匹配的字段
-
问题排查之OOM (非原创,来自于同事的邮件分享) 博客分类: Java相关 OOMNIO
-
天使的化身 博客分类: 永恒的记忆 Java
-
swing(三)----一个简单的聊天程序 博客分类: java SwingSocketJava.netthread