java - 将正则表达式转换为 java 兼容正则表达式的简单方法?

标签 java regex

我在 Python/Ruby/PHP 中定义了一个像这样的正则表达式

"(forumdisplay.php\?.*page=%CURRENTPAGE%)"

当我为 Java 执行此操作时,我必须将该问号双重转义为 \\?

像这样:

"(forumdisplay.php\\?.*page=%CURRENTPAGE%)";

有没有我可以用来自动执行此操作的功能?或者我是否需要更改所有正则表达式以使用 Java 正则表达式引擎?

最佳答案

试试这个在线工具 https://www.regexplanet.com/advanced/java/index.html

它采用普通的正则表达式并输出 Java 兼容的字符串表达式。为我自己转换巨大的正则表达式字符串节省了大量时间。

请注意,并非所有正则表达式都适用于 java。我见过奇怪的 PHP 验证正则表达式,它们在 Java 模式匹配中的行为完全不同。

关于java - 将正则表达式转换为 java 兼容正则表达式的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2945783/

相关文章:

java - 使用 Java 程序作为启动脚本 Linux (RHEL 5) 出现错误?

Java 正则表达式对复合名称进行分组

python - 使用正则表达式从字符串中提取信息

java - 按模式将文本脚本拆分为子字符串

java - JSF 组合不使用 StateHelper 存储状态

java - BigInteger gcd 值

java - 由 : java. lang.AbstractMethodError : com. myapp.webapp.config.WebConfig$$EnhancerBySpringCGLIB$$b5f5a3c0.configureContentNegotiation 引起

java - H2 DB 校对

php - 在 preg_replace_callback 中获取当前索引?

c++ - 为什么正则表达式 "([a-z])((?!\\1)[a-z])"会匹配 C++11 中的字符串 "aa"?