例如,我有一个正则表达式,如下所示:
"The quick (red|brown|blue|yellow) fox (jumps|leaps) over the lazy (dog|cat)."这个正则表达式有3个分组的组件-如果它与给定的字符串匹配,那么regex api将允许您轻松地提取每个组中的值。
现在假设我有3个字符串:
["red", "leaps","cat"]如果我们假设正则表达式中所有不在组中的字符都是文字文本字符-有没有办法将这3个字符串中的每一个都插入到原始正则表达式中的相应组中,从而得到一个组合了正则表达式未分组部分的输出字符串?在这种情况下,导致“敏捷的红色狐狸跳过懒惰的猫”。优选地,不需要具有已经与正则表达式匹配的字符串。
我希望用Java来做这件事--我很确定java.util.regex不支持这一点,但我想也许会有第三方的库可以做到这一点。有人能给我一些建议吗?
发布于 2009-11-29 07:02:48
大多数正则表达式实现允许您在搜索和替换中执行类似的操作:
s/The quick (red|brown|blue|yellow) fox (jumps|leaps) over the lazy (dog|cat)/The quick $1 fox $2 over the lazy $3/https://stackoverflow.com/questions/1814036
复制相似问题