2012-03-25 5 views
2

내가 예를 들어 문자열이 있습니다 "iCanSeeBluePeople"을하고 나는 그것이 대문자 그래서 내가 ["i","Can","See","Blue","People"]PHP는 별도의 문자열

같은 배열을받을 것 소문자로 시작하는 첫 번째 단어에 의해 배열로 분리 할 필요가

현이 =>["grand","Prix","2009"]"grandPrix2009" 등일 수 =>["dog"]"dog"는 =>["a","Dog"]"aDog" 정도로

I에이 부호 어 발견 무형 문화 유산은 잘 작동하지만 난 숫자에 적용되지 않고 주먹 소문자 무시 : 도움

+0

이 하나의 정규식으로 수행 할 수 있는지 확인하지. 당신은 아마도 그 끈을 걸어야 할 것입니다. – dqhendricks

답변

3

당신은 정규식 /[a-z]+|[A-Z]+[a-z]*|[0-9]+/을 사용할 수 있습니다에 대한

<? 
$str="MustangBlueHeadlining"; 

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

감사합니다.

<? 
    $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]+/ 당신이 ATestATest으로 분리하려는 경우.

<? 
    $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"문자열을 언급하는 것을 잊었습니다. 정규식에 포함되지 않은 AN이 있습니다. – simPod

+0

@simPod - 얻고 자하는 결과는 무엇입니까? "letItBeANiceCar"? [this] (http://ideone.com/x9pWu) (첫 번째 정규식) 또는 [this] (http://ideone.com/XYena) (두 번째 정규식)입니다. – sch

+0

두 번째 것. 당신의 지친 답장을 보내 주셔서 감사합니다. 매력처럼 작동합니다. – simPod