我正在尝试将所有。(句号)替换为关键字XXX,该关键字位于大文本的字母数字单词内。

例如:I am trying to match a.b.c.d.e ...
预期输出:I am trying to match aXXXbXXXcXXXdXXXe ...

我使用的模式:(\w+)([\.]+)(\w+)
实际结果:I am trying to match aXXXb.cXXXd.e ...

如何不使用任何代码/存根通过regex获得预期的输出。

最佳答案

您可以使用环顾:

str = str.replaceAll("(?<=[a-zA-Z0-9])\\.(?=[a-zA-Z0-9])", "XXX");


RegEx Demo

Lookaround Reference

关于java - Java递归/重复正则表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30985294/

10-10 10:56