我如何编写检查此内容的ruby regexp:
不超过4个字符,任何顺序的mpls的任意组合,并且每个字符不得出现多次。所有都必须是小写的。 4个字符是mpls。
有效:mpl 有效:s 有效:lmps
无效:MpLS 无效:mmpls
谢谢
答案 0 :(得分:2)
如果你不想重复角色,这个正则表达式会为你做。
^(?!(.).*\1)[mlps]{1,4}$
答案 1 :(得分:0)
在这种情况下,编写匹配无效字符串的正则表达式更容易。这个正则表达式比例如Sabuj Hassan的正则表达式更有效。
re = /(.).*\1|[^mpls]/
"mpl" !~ re # => true
"s" !~ re # => true
"lmps" !~ re # => true
"MpLS" !~ re # => false
"mmpls" !~ re # => false