2012-03-25 97 views
2

我有例如字符串:"iCanSeeBluePeople",我需要它由大写字母并与小写开始,所以我会收到阵列像["i","Can","See","Blue","People"]PHP的独立字符串

第一个字它分成数组

琴弦可以像"grandPrix2009" =>["grand","Prix","2009"]"dog" =>["dog"]"aDog" =>["a","Dog"]

我发现这个代码WH ICH工作正常,但我并不适用于数字而忽略拳头小写字母:

<? 
$str="MustangBlueHeadlining"; 

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

感谢您的帮助

+0

不知道这可以用一个正则表达式来完成。你很可能不得不走路。 – dqhendricks 2012-03-25 01:01:11

回答

3

您可以使用正则表达式/[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); 
?> 

Result

Array 
(
    [0] => Array 
    (
     [0] => this 
     [1] => Is 
     [2] => ATest 
     [3] => Variable 
     [4] => Number 
     [5] => 000 
    ) 

) 

使用/[a-z]+|[A-Z][a-z]*|[0-9]+/如果你想ATest被分成ATest

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

Result

Array 
(
    [0] => Array 
    (
     [0] => this 
     [1] => Is 
     [2] => A 
     [3] => Test 
     [4] => Variable 
     [5] => Number 
     [6] => 000 
    ) 

) 
+0

我忘记提到这个字符串:“letItBeANiceCar”。有你的正则表达式不包括的 – simPod 2012-03-25 01:32:46

+0

@simPod - 你想得到什么结果:“letItBeANiceCar”?它是[this](http://ideone.com/x9pWu)(第一个正则表达式)或[this](http://ideone.com/XYena)(第二个正则表达式)。 – sch 2012-03-25 01:39:21

+0

第二个。非常感谢您辛苦的答复。它的作用像魅力 – simPod 2012-03-25 02:18:04