检查所有字母在 String 中至少出现一次
Checking all letters appear at least once in String
我正在使用这个正则表达式检查每个字母是否至少出现一次:
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).*
"
示例:
The quick brown fox jumps over the lazy dog
包含所有英文字母,但我的正则表达式不起作用。
我做错了什么,或者有没有其他方法可以检查 pangrams。
(?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
^$
以进行严格匹配而不是部分匹配。
查看演示。
有一种比正则表达式更简单、更快速的方法来检查字符串是否为 pangram。
小步走,
- 将字符串转换为小写
- 将其缩减为唯一字母
- 排序
- 是否等于
"abcdefghijklmnopqrstuvwxyz"
?
我正在使用这个正则表达式检查每个字母是否至少出现一次:
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).*
"
示例:
The quick brown fox jumps over the lazy dog
包含所有英文字母,但我的正则表达式不起作用。
我做错了什么,或者有没有其他方法可以检查 pangrams。
(?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
^$
以进行严格匹配而不是部分匹配。
查看演示。
有一种比正则表达式更简单、更快速的方法来检查字符串是否为 pangram。
小步走,
- 将字符串转换为小写
- 将其缩减为唯一字母
- 排序
- 是否等于
"abcdefghijklmnopqrstuvwxyz"
?