것은 내가 PHP에서 작업이처럼 보이는 문자열을 구문 분석 할 필요 해요 :순수 정규식과 일치하는 항목 모두를 찾으시겠습니까?
Rake (100) Pot (1000) Players (andy: 10, bob: 20, cindy: 70)
내가 이름을 가진 선수 당 레이크, 냄비, 그리고 레이크 공헌을 얻을 필요가있다. 선수의 수는 가변적입니다. 플레이어 이름과 레이크 기여도를 일관된 방식으로 일치시킬 수있는 한 명령은 부적합합니다.
예를 들어 나는 이런 식으로 뭔가를 얻기 위해 찾고 있어요 :Array
(
[0] => Rake (100) Pot (1000) Players (andy: 10, bob: 20, cindy: 70)
[1] => 100
[2] => 1000
[3] => andy
[4] => 10
[5] => bob
[6] => 20
[7] => cindy
[8] => 70
)
나는 문자열과 일치하는 정규 표현식을 마련 할 수 있었다 그러나 마지막 플레이어 레이크 기여 쌍을 반환
^Rake \(([0-9]+)\) Pot \(([0-9]+)\) Players \((?:([a-z]*): ([0-9]*)(?:,)?)*\)$
출력 :
Array
(
[0] => Rake (100) Pot (1000) Players (andy: 10, bob: 20, cindy: 70)
[1] => 100
[2] => 1000
[3] => cindy
[4] => 70
)
난으로, preg_match_all와 g 수정을 사용하여 시도했다 그러나 성공하지 못했습니다. preg_match_all은 player-rake 기여도 쌍만 원한다면 원했던 것을 얻을 수 있지만, 필자가 요구하기도 전에 데이터가 있습니다.
분명히 폭발을 사용하여 데이터를 직접 파싱 할 수 있지만 그 경로를 내려 가기 전에 순수 정규식으로 수행 할 수 있는지 여부를 알아야합니다. 당신은 아래의 정규식을 사용할 수
무엇 당신의 예상되는 출력? –
"예를 들면 다음과 같은 것을 얻으려고합니다 :" – Abovestand
'preg_match_all' 또는'g'를 반복해서 사용하지 않기 때문에'() *'캡처 그룹은'cindy'가 마지막으로 저장된 것을 저장합니다' 70' 예상대로 – nu11p01n73R