Java正则表达式到Java正则表达式

时间:2011-12-09 09:18:35

标签: java javascript regex

我有一小段用Javascript编写的遗物代码,用于扫描网页源并查找该模式。

我正在将functuanality迁移到Java程序。那么,我的问题是如何将JavaScript正则表达式解析为具有某种查找和替换函数的java正则表达式?

例如我的JavaScript Regex当前读取(作为字符串)

RegEx = "/(\\/addthis_widget\\.(js|php)|\\.addthis\\.com\\/js\\/widget\\.(js|php))/i";

我在stackoverflow上找到了这篇旧帖子:

How to convert javascript regex to safe java regex?

它认为这可以解决问题:

strOutput.replace("/{{[^]*?}}/g","");

但是,这似乎不够强大,并且不会产生编译器可识别的RegEx。

1 个答案:

答案 0 :(得分:1)

在开始时删除/,在结尾处删除/ i。 在开始时添加(?i)。

Java不使用/expr/options格式。 /expr/G将替换为\ G边界匹配,但在java中,您通常只需多次调用matcher.find(),它将自动开始在上一个结束时搜索匹配,使\ G无意义。

将所有\\/更改为/,不需要转义转义斜杠。