javascript - 使用区分大小写字符的正则表达式拆分字符串上的名称

标签 javascript regex string split match

我想用这种字符串将名称拆分为数组。

Bol BolLouis King
Brandon ClarkeRui Hachimura
Michael Jeffery JordanDennis Rodman

['Bol Bol', 'Louis King']
['Brandon Clarke', 'Rui Hachimura']
['Michael Jeffery Jordan', 'Dennis Rodman']

我已经重新使用 ^[A-Z]\w+\s[A-Z][a-z]+ 创建自己的正则表达式,但这仅匹配第一个名称,我无法捕获第二个或第三个名字。当名字上有 3 个单词(例如 Michael Jeffery Jordan

)时,我也遇到了一些问题

最佳答案

我建议利用积极的前瞻来概括您的模式。这允许您匹配紧随其后的其他表达式的表达式。在模式末尾使用 (?=someRegexp) 可以使结尾成为小写字符后紧跟大写字符的情况。然后您可以概括为任意数量的单词。

我还建议将其分为两种情况,因为表达式中的姓氏后面不会跟有大写字母,而是会跟有字符串结尾字符。您可以使用 or 来做到这一点: (someRegexp|someOtherRegexp)

关于javascript - 使用区分大小写字符的正则表达式拆分字符串上的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59136892/

相关文章:

javascript - 如何在同级组件指令之间传递事件

javascript - 服务器不断得到旧结果

javascript - 没有警报的表单验证

Javascript正则表达式或疑问

string - Lua string.gsub带连字符

javascript - Azure setProperties 不适用于 Grunt

javascript - 正则表达式找不到 '\u2028' unicode 字符

php - 正则表达式匹配不在分组符号之间的逗号

java - 添加 fragment ?

python - Python 中的“C 风格”字符串