2011-12-09 77 views
0

我有一段用JavaScript编写的遗留代码,扫描网页源并查找模式。JavaScript正则表达式到Java正则表达式

我正在将函数迁移到Java程序。所以,我的问题是我怎样才能解析一个JavaScript的正则表达式与Java的某种查找和替换功能?

例如我的JavaScript正则表达式当前读取(作为一个字符串)

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

我发现这个旧帖子上计算器:

How to convert javascript regex to safe java regex?

这sudgests,这将这样的伎俩:

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

但是,这看起来不够健壮,并且不会产生被编译器识别的RegEx。

+0

我想知道是否可以从JavaScript正则表达式自动生成Java正则表达式。不过,我不确定是否有任何工具。 –

+0

这个问题也讨论了正则表达式从JavaScript到Java的转换:http://stackoverflow.com/questions/8754444/convert-javascript-regular-expression-to-java-syntax –

回答

1

删除/在开始和/我在最后。 在开始处添加(?i)。

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

更改全部\\//,转发斜线不需要转义。

相关问题