有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

我正在将函数性迁移到Java程序。所以,我的问题是,如何用某种查找和替换函数将JavaScript正则表达式解析为java正则表达式

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

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","");

但是,这似乎不够健壮,并且不会生成编译器可以识别的正则表达式


共 (1) 个答案

  1. # 1 楼答案

    移除开头的/和结尾的/i。 在开始处添加(?i)

    Java不使用/expr/options格式/expr/G将替换为\G边界匹配,但在java中,通常只需多次调用matcher.find(),它将在前一个匹配的末尾自动搜索匹配,使\G变得毫无意义

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