Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php用大写字母分隔字符串_Php_Regex_String - Fatal编程技术网

php用大写字母分隔字符串

php用大写字母分隔字符串,php,regex,string,Php,Regex,String,例如,我有一个字符串:“iCanSeeBluePeople”,我需要它通过大写字母和以小写字母开头的第一个单词将其分成数组,这样我就可以接收类似[“I”,“Can”,“See”,“Blue”,“People”] 字符串可以像“grandPrix2009”=>[“grand”,“Prix”,“2009”],“dog”,“aDog”=>[“a”,“dog”]等等 我发现这段代码很好用,但我不适用于数字,并且忽略了第一个小写字母: <? $str="MustangBlueHeadlining";

例如,我有一个字符串:
“iCanSeeBluePeople”
,我需要它通过大写字母和以小写字母开头的第一个单词将其分成数组,这样我就可以接收类似
[“I”,“Can”,“See”,“Blue”,“People”]

字符串可以像
“grandPrix2009”
=>
[“grand”,“Prix”,“2009”]
“dog”
“aDog”
=>
[“a”,“dog”]
等等

我发现这段代码很好用,但我不适用于数字,并且忽略了第一个小写字母:

<?
$str="MustangBlueHeadlining";

preg_match_all('/[A-Z][^A-Z]*/',$str,$results);
?>


感谢您的帮助

您可以使用正则表达式
/[a-z]+[a-z]+[a-z]*.[0-9]+/

<?
    $str="thisIsATestVariableNumber000";
    preg_match_all('/[a-z]+|[A-Z]+[a-z]*|[0-9]+/',$str,$results);
    print_r($results);
?>

如果希望将测试分为
a
测试,请使用
/[a-z]+|[a-z][a-z]*.[0-9]+/

<?
    $str="thisIsATestVariableNumber000";
    preg_match_all('/[a-z]+|[A-Z][a-z]*|[0-9]+/',$str,$results);
    print_r($results);
?>

不确定这是否可以用一个正则表达式完成。你很可能要走这条线。我忘了提到这条线:“Lettbeanicecar”。有一个你的正则表达式没有的include@simPod-你想要的结果是什么:“LettBeaniceCar”?它是(第一个正则表达式)或(第二个正则表达式)。第二个。非常感谢你令人筋疲力尽的答复。它很有魅力
<?
    $str="thisIsATestVariableNumber000";
    preg_match_all('/[a-z]+|[A-Z][a-z]*|[0-9]+/',$str,$results);
    print_r($results);
?>
Array
(
    [0] => Array
    (
        [0] => this
        [1] => Is
        [2] => A
        [3] => Test
        [4] => Variable
        [5] => Number
        [6] => 000
    )

)