简体   繁体   English

RegEx和拆分camelCase

[英]RegEx and split camelCase

I want to get an array of all the words with capital letters that are included in the string. 我想得到一个包含在字符串中的大写字母的所有单词的数组。 But only if the line begins with "set". 但只有当行以“set”开头时。

For example: 例如:

- string "setUserId", result array("User", "Id")
- string "getUserId", result false

Without limitation about "set" RegEx look like /([AZ][az]+)/ 没有限制“set”RegEx看起来像/([AZ][az]+)/

$str ='setUserId';                          
$rep_str = preg_replace('/^set/','',$str);
if($str != $rep_str) {
        $array = preg_split('/(?<=[a-z])(?=[A-Z])/',$rep_str);
        var_dump($array);
}

See it 看见

Also your regex will also work.: 你的正则表达式也可以工作:

$str = 'setUserId';
if(preg_match('/^set/',$str) && preg_match_all('/([A-Z][a-z]*)/',$str,$match)) {
        var_dump($match[1]);                                                    
}

See it 看见

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM