我正在使用此正则表达式检查每个字母是否至少出现一次:
String regex = "(?i)(?=.*a)(?=.*b)(?=.*c)(?=.*d)(?=.*e)(?=.*f)(?=.*g)(?=.*h)(?=.*i)(?=.*j)(?=.*k)(?=.*l)(?=.*m)(?=.*n)(?=.*o)(?=.*p)(?=.*q)(?=.*r)(?=.*s)(?=.*t)(?=.*u)(?=.*v)(?=.*w)(?=.*x)(?=.*y)(?=.*z).*
"
示例:
快速的棕色狐狸跳过懒狗
包含所有英文字母,但我的正则表达式无效。
我做错了什么,或者还有其他方法来检查pangrams。
答案 0 :(得分:2)
有一种比正则表达式更简单快捷的方法来检查字符串是否为pangram。
小步骤,
"abcdefghijklmnopqrstuvwxyz"
?答案 1 :(得分:1)
(?i)^(?=.*a)(?=.*b)(?=.*c)(?=.*d)(?=.*e)(?=.*f)(?=.*g)(?=.*h)(?=.*i)(?=.*j)(?=.*k)(?=.*l)(?=.*m)(?=.*n)(?=.*o)(?=.*p)(?=.*q)(?=.*r)(?=.*s)(?=.*t)(?=.*u)(?=.*v)(?=.*w)(?=.*x)(?=.*y)(?=.*z).*$
添加anchors
^$
以进行严格匹配,而不是部分匹配。
参见演示。