나는이게 사소한 것이라고 확신하지만 피사체가 여러 줄로 구성되어 있다는 것을 고려한 정규식을 만들 수 없습니다. 하나의 "m
"수정자가 작동하지 않는 것 같습니다.PHP preg_replace 여러 줄과 일치하는 preg_replace
답변
수정자를 사용해 보셨습니까? 의미는 '한 줄처럼 취급하십시오. 'm'은^및 $ 행의 시작과 끝을 사용할 수있게합니다.
아 IC는 내일 일하게 될 것입니다. 한 가지 더 질문하지만 줄 바꿈, 공백 또는 탭과 어떻게 일치합니까? 지금까지 나는 "[\\ n \\ t] *"을 생각해 냈습니다. 맞습니까? –
그냥'\ s'를 사용하십시오. 이는 스페이스 문자를 의미합니다. –
\ s는 '공백'(\ t 및 공백을 의미)과 일치하며 's'와 함께 사용하면 \ n도 포함될 수 있다고 생각합니다. – ziya
Maxwell Troy Milton King이 맞습니다. 그러나 그의 답변이 조금 짧기 때문에, 나는 이것을 게시하고 설명 할 몇 가지 예를 제공 할 것입니다.
기본적으로 .
메타 문자는 줄 바꿈과 일치하지 않습니다. 이것은 PHP의 맛을 포함한 많은 정규식 구현에 해당됩니다. 즉, 텍스트를 가지고 말했다
'/.*/'
$text = "Line 1\nLine 2\nLine 3";
및 정규식
다음 정규식은Line 1
일치합니다. 자신에 대한 참조하십시오
.*
이후
\n
(새 라인 문자)에 "매칭을 중지"
preg_match('/.*/', $text, $match);
echo $match[0]; // echos: 'Line 1'
. 제 m 수정 (멀티 라인)에 대한 지금
preg_match('/.*/s', $text, $match);
echo $match[0]; // echos: 'Line 1\nLine 2\nLine 3'
: 당신은 당신의 정규식의 끝에서 S-수정 (일명 DOT-ALL 수정)를 추가, 라인뿐만 아니라 휴식과 일치하도록하려면 : ^
은 입력 문자열의 시작뿐만 아니라 각 행의 시작과 일치하게합니다. $
과 동일 : $
이 입력 문자열의 끝뿐 아니라 각 줄의 끝과 일치하게합니다.
예 :
$text = "Line 1\nLine 2\nLine 3";
preg_match_all('/[0-9]$/', $text, $matches);
print_r($matches);
만 3 (입력의 끝)에 일치한다. 그러나 :
하지만 m-개질제 활성화 :
$text = "Line 1\nLine 2\nLine 3";
preg_match_all('/[0-9]$/m', $text, $matches);
print_r($matches);
전체 (인) 각 디지트 라인의 끝에서를 ('1', '2'및 '3')가 일치한다.
+1 환상적인 답변 – blak3r
- 1. PHP preg_replace \
- 2. PHP preg_replace 제외
- 3. 간단한 PHP preg_replace
- 4. PHP preg_replace regex question
- 5. preg_replace PHP AND
- 6. PHP 정규 표현식 preg_replace
- 7. PHP preg_replace 패턴 [[and]]
- 8. PHP preg_replace 정규 표현식
- 9. PHP preg_replace 질문
- 10. PHP - preg_replace 단순화 하시겠습니까?
- 11. PHP preg_replace 문제
- 12. PHP : 고유 교체가있는 preg_replace
- 13. preg_replace with php
- 14. php preg_replace help가 필요합니다
- 15. C# preg_replace?
- 16. Google 구문 Highligher PHP Preg_replace
- 17. PHP 함수에 관한 질문 preg_replace
- 18. PHP preg_replace() 컴파일 실패 : 누락)
- 19. 정규 표현식 도움말 (PHP, preg_replace)
- 20. preg_replace : 대체 %
- 21. preg_replace hell
- 22. preg_replace REGEX
- 23. preg_replace, 어떻게?
- 24. PHP preg_replace 함수에 새 행 포함하기
- 25. RegEx string "preg_replace"
- 26. mysql에서 preg_replace 사용
- 27. PHP에서 간단한 preg_replace 작성하기
- 28. preg_replace 전체 문자열 바꾸기
- 29. preg_replace html tags
- 30. preg_replace 정규 표현식 문제
당신은 정규식이 맞다고 긍정적입니까? – Romain
msU 자세한 내용은 아래 링크를 참조하십시오. http://zendf.wordpress.com/2012/02/08/php-preg_match-multi-line-match/ – Tofeeq