【发布时间】:2017-04-05 11:20:24
【问题描述】:
我需要一个匹配给定集中字符序列的正则表达式,例如 {a,b,c}。
例如 aaaaaa 或 bb 或 ccc 等。
我尝试使用
(.)\1+ 和 (\w)\1+ 但它也允许不属于该集合的其他字符。
有没有办法解决这个问题?
【问题讨论】:
我需要一个匹配给定集中字符序列的正则表达式,例如 {a,b,c}。
例如 aaaaaa 或 bb 或 ccc 等。
我尝试使用
(.)\1+ 和 (\w)\1+ 但它也允许不属于该集合的其他字符。
有没有办法解决这个问题?
【问题讨论】:
. 默认匹配除换行符以外的任何字符,\w 匹配“单词”字符,即字母、数字和下划线符号。
要仅匹配特定的符号集/范围,请使用字符类。对于{a,b,c},它将是[abc]:
([abc])\1+
详情:
([abc]) - 捕获匹配 a、b 或 c 的组 1
\1+ - 在第 1 组中捕获的同一字符出现一次或多次(由于+ 量词)。【讨论】: