有人可以帮我将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("[ '-_()]", "");
答案 0 :(得分:2)
与Java正则表达式的唯一区别在于你必须转义反斜杠。
str = str.replaceAll("(.)\\1+", "replacerString");
str = str.replaceAll("[ \\'-_\\(\\)]", "");
答案 1 :(得分:2)
对于这个PHP正则表达式:
$str = preg_replace ( '{(.)\1+}', '$1', $str );
$str = preg_replace ( '{[ \'-_\(\)]}', '', $str )
在Java中:
str = str.replaceAll("(.)\\1+", "$1");
str = str.replaceAll("[ '-_\\(\\)]", "");
我建议您提供输入和预期输出,然后您将获得有关如何在PHP和/或Java中完成的更好的答案。