我必须检查单词开头是否存在大写字母。
我的正则表达式现在看起来像这样: /^([A-ZÁÉÚŐÓÜÖÍ]([a-záéúőóüöí]*\s?))+$/
它在单词开头效果很好,但如果问题不在单词开头,则失败。例如:John JohnJ
得到验证。
我应该在我的正则表达式中交替使用什么才能正常工作?
在您的正则表达式模式中,空格是可选的,允许像JJohn
或这样的组合JohnJ
- 关键是在单词之间需要它。有两种方法可以做到这一点:
展开你的模式:
/^[A-ZÁÉÚŐÓÜÖÍ][a-záéúőóüöí]*(?:\s[A-ZÁÉÚŐÓÜÖÍ][a-záéúőóüöí]*)*$/
或者在你的模式中留出所需的空间,但也允许它作为行尾(虽然这允许尾随空格)。
/^(?:[A-ZÁÉÚŐÓÜÖÍ][a-záéúőóüöí]*(?:\s|$))+$/
在这两种模式中,我都删除了您原来的一些多余的组,并将所有组都变成了非捕获组。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句