问一下正则表达式的问 题
有很长一段字符串,但有一段如下格式的字符串
.............
<big><font size="2" face="Trebuchet MS">n. 火,火灾,射击<br>
v. 点燃,解职,开枪<br>
</big>
.............
如果把这段字符串找出来。
我用“<big><font.*</big>”这样的正则式可以找到
"<big><font size="2" face="Trebuchet MS">n. 火,火灾,射击<br>v. 点燃,解职,开枪<br></big>"
这种格式的,但无法找出上面那种换行的格式的。。。
----------------解决方案--------------------------------------------------------
可以不用正则表达式,可以用javax.swing.text这个包.它可以帮你很好的解析HTML内容
----------------解决方案--------------------------------------------------------
在正则式前面加上(?s)就可以了,这样:“(?s)<big><font.*</big>”
因为在默认情况下,正则式里的.不匹配换行符.
ps:对于简单的html解析可以考虑用正则式.也可以用千里的方法.
HTMLEditorKit.Parser我也用过,不过感觉也不是很好使,主要是没有详细的API文档,很多东西只能靠猜.
虽然<Java Network Programming>一书里面提到了一些使用方法,但据我使用体验,里面很多说法有误.
----------------解决方案--------------------------------------------------------
我还是觉得reg挺好用的,简洁
----------------解决方案--------------------------------------------------------
。。。。看了一下那个网站的API,他给出了一个返回XML的API。
早知道有返回XML的API就不用这么麻烦了。现在已全搞定了。
----------------解决方案--------------------------------------------------------
然后自己去解析这个xml?
----------------解决方案--------------------------------------------------------
没错,解析XML比解析HTML要简单多了。。
----------------解决方案--------------------------------------------------------
恩,了解,解析xml的办法比较多,而且比较容易,我之前是用dom4j解析的,好象还有好多好多优秀的工具api.
----------------解决方案--------------------------------------------------------