开发者

Regex to use each letter only once?

Is it possible to construct a PCRE-style regular expression that will only match each letter in a list only once?

For example, if you have the letters "lrsa" and you try matching a word list against:

^[lrsa]*m[lrsa]*$

you're going to match "lams" (valid), but also "lamas" (invalid for our purposes because you only had one "a"). If your letter开发者_开发百科 set was "lrsaa", you would want to match "lamas".

Is this possible with regular expressions, or should I handle it programmatically?


You can use negative look-ahead:

^(?!.*?(.).*?\1)[lrsa]*m[lrsa]*$

will do what you want

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜