正则表达式匹配驼峰案例字符串中的单词和首字母缩略词

时间:2016-08-23 20:15:52

标签: php regex

我需要一个正则表达式来捕获一个字符串的单词部分,这个字符串是驼峰式的,并且可能有一个首字母缩略词。换句话说,我想将一个驼峰大小写字符串分成它的单词和首字母缩略词。

例如:

SomeABCWords

...有三个捕获组

一些ABC词

到目前为止,我发现了这个正则表达式:

((?:^|[A-Z])[a-z]+)

但这不会处理首字母缩略词,只会匹配'Some'和'Words'。

2 个答案:

答案 0 :(得分:3)

解决这个问题的一种方法是捕获添加了负向前瞻的缩写。

[A-Z][a-z]+|[A-Z]+(?![a-z])

Regular expression visualization

Sample

答案 1 :(得分:0)

这个正则表达式应该有效,至少对于你发布的情况是这样的:

[A-Z][a-z]+|[A-Z]*(?![a-z])