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
)
)