正则表达式和拆分驼峰

标签 regex split preg-match-all camelcasing

我想获取字符串中包含的所有带有大写字母的单词的数组。但前提是该行以“set”开头。

例如:

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

没有限制“设置”正则表达式看起来像 /([A-Z][a-z]+)/

最佳答案

$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

您的正则表达式也将起作用。:
$str = 'setUserId';
if(preg_match('/^set/',$str) && preg_match_all('/([A-Z][a-z]*)/',$str,$match)) {
        var_dump($match[1]);                                                    
}

See it

关于正则表达式和拆分驼峰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8064966/

相关文章:

regex - 有条件替换 pandas df 中的数字

php - preg_match_all : Why would "this" match but "that" won't?

php - 特殊条件下的preg_match_all子域

python - 使用脚本或正则表达式将 "printf"添加到每个函数

php - preg_match_all 空匹配

asp.net - 文本框的正则表达式最大和最小长度字符

javascript - 拆分而不丢失分隔符

sql - 在 Postgres 中将列拆分为多行

java - 解析一行数据: split vs regex

javascript - 使用php从字符串中删除带有类名的div