我试图确定一个字符串是否在一个字符串的开头连续有超过1个大写字母.我有以下正则表达式,但它不起作用:
`^[A-Z]{2,1000}`
Run Code Online (Sandbox Code Playgroud)
我希望它返回true:
但错误的是:
我有1000只因为我知道值不会超过1000个字符,但我不关心限制长度.
我正在使用PHP,如果它有任何区别.
不会离开第二个人吗?
^[A-Z]{2,}
Run Code Online (Sandbox Code Playgroud)
基本上说"字符串以2个或更多大写字母开头"
以下是您提供的应匹配的字符串的一些测试:
>>> 'ABC'.match(/^[A-Z]{2,}/);
["ABC"]
>>> 'ABc'.match(/^[A-Z]{2,}/);
["AB"]
>>> 'ABC ABC'.match(/^[A-Z]{2,}/);
["ABC"]
>>> 'ABc Abc'.match(/^[A-Z]{2,}/);
["AB"]
Run Code Online (Sandbox Code Playgroud)
然后它不应该匹配的:
>>> 'Abc'.match(/^[A-Z]{2,}/);
null
>>> 'AbC'.match(/^[A-Z]{2,}/);
null
>>> 'Abc Abc'.match(/^[A-Z]{2,}/);
null
>>> 'Abc ABc'.match(/^[A-Z]{2,}/);
null
Run Code Online (Sandbox Code Playgroud)
如果你只想匹配前两个,你就可以做到 {2}