如何替换正则表达式中的重复?

时间:2017-11-20 15:15:13

标签: java regex

说我有以下的正则表达式:

(\*(.*)_(.*)){1,10}

找到这个词

*word1_word2 *word3_word4 *word5_word6 ...

我试图替换这些词,所以我得到了以下结果:

word1="word2" word3="word4" word5="word6"

但是我找不到使用$替换的方法,因为我无法获得每次重复。

知道怎么做吗?

1 个答案:

答案 0 :(得分:2)

您可以使用

\*([^_\s]*)_([^_\s]*)

\*([^_\s]*)_(\S*)

并替换为$1="$2"

请参阅regex demo

<强>详情

  • \* - *
  • ([^_\s]*) - 第1组:除空格以外的0 +字符_
  • _ - _
  • ([^_\s]*) - 第2组:除空格以外的0 +字符_
  • \S* - 零个或多个非空白字符。