开发者

Regex to use each letter only once?

开发者 https://www.devze.com 2022-12-26 12:42 出处:网络
Is it possible to construct a PCRE-style regular expression that will only match each letter in a list 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

精彩评论

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