避免重复要捕获的组成员

时间:2019-02-27 07:25:38

标签: regex

我有与正则表达式相同的正则表达式字符和单词,但我只希望从\d(?i)(R|k|M|E|next|prev){1,2}组中选择单个成员

有效的是-8RK, 6ME, 9Rnext

无效的是-8MM,0RR, 9nextnext

请提出建议

2 个答案:

答案 0 :(得分:0)

如评论中所述,您可能要使用环顾四周,即负数。在这里向前看:

\d(?i)
(?:
    (R|k|M|E|next|prev) # capture group 1
    (?!\1)              # make sure, there's not the same submatch in front
){1,2}

请参见a demo on regex101.com

答案 1 :(得分:0)

此正则表达式应该有效:)

\d\w\w,\s\d\w\w,\s\w.*$