使用重复的组压缩字符串

时间:2017-07-18 13:47:15

标签: regex

我有一个字符串"aa > aa > bbb > ccc > ccc > ccc > dd > aa"有一种优雅的方法可以单独使用regexp将其压缩到"aa > bbb > ccc > dd > aa"(而不是解析为向量)

1 个答案:

答案 0 :(得分:1)

假设格式为word > word > word ...的字符串和支持反向引用的正则表达式引擎,您可以使用

\b(\w+)(?: > \1\b)+

并将其替换为

$1

(或者您选择的引擎注意到对第一个捕获组的反向引用)

这使用反向引用和单词边界来确保再次匹配完全相同的单词。

这里有一些示例案例:https://regex101.com/r/UOnKeM/1