【发布时间】:2013-06-26 18:29:25
【问题描述】:
有人可以帮我将 php 正则表达式转换为 java 正则表达式吗?
如果你能帮助我,那就太好了,我将不胜感激,因为我在正则表达式方面不是那么强。
$str = preg_replace ( '{(.)\1+}', '$1', $str )
$str = preg_replace ( '{[ \'-_\(\)]}', '', $str )
我如何理解 php 中的 preg_replace 函数与 java 中的 replaceAll 相同?..
所以在java代码中会是这样的。
str = str.replaceAll("{(.)\1+}", "$1");
str = str.replaceAll("{[ \'-_\(\)]}", "");
但是这段代码不会起作用,因为我怎么知道 php 中的正则表达式与 java 不同。
请有人帮助我!非常感谢))
更新
最终结果是
str = str.replaceAll("(.)\\1+", "$1");
str = str.replaceAll("[ '-_()]", "");
【问题讨论】:
-
不要过度逃避。您的第二个模式也可以是
[ '-_()](当然,在 PHP 中您仍然必须转义')。 -
如果你没有使用任何非核心的正则表达式功能,正则表达式在任何地方都是一样的,唯一需要注意的是你是否需要加倍(转义)反斜杠,多线行为等