[英]url rewriting with antlr
我的Java程序需要重写html中的url(及时)。 我正在寻找合适的工具,想知道antlr是否正在为我完成这项工作?
例如:
<html><body> <img src="foo.jpg" /> </body></html>
应该改写为:
<html><body> <img src="http://foo.com/foo.jpg" /> </body></html>
我想从流中读取/写入流(逐字节)。
那正则表达式呢?
正如khmarbaise所说,首先要确定正则表达式是否可以做到。 但是在某些情况下,它们不能[*],然后我认为,ANTLR可能确实是一个合理的选择。
[*]有关此主题的数学背景,请参见http://en.wikipedia.org/wiki/Formal_grammar#The_Chomsky_hierarchy
更新资料
现在,您已经更新了问题,我看到了您真正想要做的:对于修改完整的HTML文件,我将使用NekoHTML之类的解析器或类似的解析器: http : //www.benmccann.com/dev-blog/ java-html-parsing-library-comparison /
然后,您可以使用它们来提取URL。 然后
不要使用正则表达式来解析整个HTML文件! 从理论上讲,您可以使用ANTLR,但是要使其可靠地工作将非常困难。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.