是否可以构建一个PCRE样式的正则表达式,它只匹配列表中的每个字母一次?
例如,如果您有字母“lrsa”,并尝试将单词列表与:
匹配^[lrsa]*m[lrsa]*$
你要匹配“lams”(有效),还要匹配“lamas”(因为你只有一个“a”而无效)。如果你的信件是“lrsaa”,你会想要匹配“喇嘛”。
这可能是正则表达式,还是我应该以编程方式处理它?</ p>
答案 0 :(得分:3)
您可以使用否定预测:
^(?!.*?(.).*?\1)[lrsa]*m[lrsa]*$
会做你想做的事