>  기사  >  백엔드 개발  >  여러 줄을 일치시키는 PHP 정규식 분석

여러 줄을 일치시키는 PHP 정규식 분석

高洛峰
高洛峰원래의
2017-02-06 16:35:421353검색

PHP는 여러 줄의 정규식 분석을 일치시킵니다. 필요한 친구가 참조할 수 있으며 주로 수집 및 교체에 사용됩니다.

<table> 
<tr><td>aaaa</td></tr> 
<tr><td>bbbb</td></tr> 
<tr><td>cccc</td></tr> 
<tr><td>dddd</td></tr> 
</table>

PHP 정규식을 사용하여 이와 같은 텍스트를 일치시키는 방법은 무엇입니까? ?
내 초기 생각:
패턴: "/a34de1251f0d9fe1e645927f19a896e8[.n]*?fd273fcf5bcad3dfdad3c41bd81ad3e5"(틀림)
아이디어: "." 문자가 있는 경우 "[.n]" 조합을 사용하여 모든 문자(개행 문자 포함)와 일치하도록 만들지만 예상치 못한 상황이 발생합니다. 비극, 결과는 아무것도 아닙니다!
고민 끝에 또 하나 썼습니다
패턴: "/a34de1251f0d9fe1e645927f19a896e8(.|n)*?fd273fcf5bcad3dfdad3c41bd81ad3e5" (가능합니다)
"[]" 바꾸기 "()"로 바꾸고 "|"를 사용하여 or를 선택하면 끝입니다. (헷갈리는데 왜 "[]"도 선택 방법으로 사용할 수 없나요???)
거기 인터넷에 있는 답변이기도 합니다.
PATTEN : "/a34de1251f0d9fe1e645927f19a896e8.*?fd273fcf5bcad3dfdad3c41bd81ad3e5/is" (매우 간결하고 편리합니다. 이 방법에 동의합니다.)

추첨: "[]"도 선택할 수 없는 이유는 무엇입니까? ? ? 알고 계신다면 꼭 알려주세요...

[]의 "."는 다음과 같습니다. 일반 설명을 주의 깊게 읽어보세요.

줄 바꿈에 대해서는 패턴 수정자 사용을 고려하세요.

s (PCRE_DOTALL)
이 수정자가 설정되면 패턴의 점 메타 문자는 이 수정자를 포함한 모든 문자와 일치합니다. 도트 메타 문자는 개행 문자와 일치하지 않습니다.

[]에는 일부 범위 또는 조합이 포함되어 있습니다.
lz "/a34de1251f0d9fe1e645927f19a896e8[.]*?fd273fcf5bcad3dfdad3c41bd81ad3e5/is"를 시도해 보면 알 수 있습니다. 🎜>()도 있습니다. 매우 강력합니다

여러 줄을 일치시키는 PHP의 정규식 분석과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.