![](/img/trans.png)
[英]RegEx for ukrainian letters. How to separate cyrillic words by capital letter?
[英]Regex - Allow capital letters just at the beginning of words
我必须检查单词开头是否存在大写字母。
我的正则表达式现在看起来像这样: /^([A-ZÁÉÚŐÓÜÖÍ]([a-záéúőóüöí]*\\s?))+$/
开头的单词可以很好地工作,但是如果问题不在单词的开头,那就失败了。 例如: John JohnJ
得到了验证。
我应该在正则表达式中替换什么才能正常工作?
在您的正则表达式模式中,空格是可选的,允许使用JJohn
或JohnJ
类的组合-关键是使其在单词之间成为必需。 有两种方法可以做到这一点:
推出您的模式:
/^[A-ZÁÉÚŐÓÜÖÍ][a-záéúőóüöí]*(?:\s[A-ZÁÉÚŐÓÜÖÍ][a-záéúőóüöí]*)*$/
或在您的样式中留出所需的空间,但也可以将其作为行尾(尽管这允许尾随空格)。
/^(?:[A-ZÁÉÚŐÓÜÖÍ][a-záéúőóüöí]*(?:\s|$))+$/
在这两种模式中,我都删除了一些多余的原始组,并将所有组都变成了非捕获组。
您可以这样做: /^([A-ZÁÉÚŐÓÜÖÍ]{0,1}([a-záéúőóüöí]*\\s?))+$/
使用{a,b}
, a
是它将匹配的最少字符,而b
是它将匹配的最多字符。
如果始终始终以大写字母开头,则可以简单地使用: /^([A-ZÁÉÚŐÓÜÖÍ]{1}([a-záéúőóüöí]*\\s?))+$/
在上述情况下, {c}
, c
是它将匹配的确切字符数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.