我正在尝试将所有。(句号)替换为关键字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/