正则表达式以匹配不在集合中的唯一字符

时间:2018-07-04 16:47:28

标签: regex

我想匹配不是“ ymd”的唯一字符

示例1:

mm-dd-yyyy只能匹配1个字符-

示例2:

d. m. y.只能匹配1个.字符和1个空格字符

我已经尝试过使用这种模式进行负向超前

/([^ymd]+\b)(?!.*\1\b)/

有效,但示例2的匹配项为". "

理想情况下,我希望它能找到2个单字符匹配项:"."和1个空格字符

1 个答案:

答案 0 :(得分:2)

首先,只需匹配单个字符。确保将它们分组。这将使所有非符号字符分别匹配:

$(PREC_TAGS)

然后,使用负数前瞻。这只会使最后个唯一字符匹配:

([^ymd])

完整解决方案:

(?!.*\1)

See it live!