我想获取字符串中包含的所有带有大写字母的单词的数组。但前提是该行以“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/