정규 표현식의 선택적 공백
HTML이나 텍스트 데이터를 구문 분석할 때 특정 문자 사이의 공백을 무시해야 하는 경우가 많습니다. 그러나 정규 표현식을 사용하면 어려울 수 있습니다.
해결 방법 s? 및 s* 수량자
문자 사이의 선택적 공백을 일치시키려면 수량자 s? 및 s*.
예
다음 HTML 태그에서 공백을 무시하려면:
<code class="html"><a href="/wiki/File:Sky1.png" title="File:Sky1.png"> <img alt="Sky1.png" src="http://media-mcw.cursecdn.com/thumb/5/56/Sky1.png/150px-Sky1.png" width="150" height="84"> </a></code>
다음 정규식을 사용합니다.
'#<a href\s?="(.*?)" title\s?="(.*?)"><img alt\s?="(.*?)" src\s?="(.*?)"[\s*]width\s?="150"[\s*]height\s?="(.*?)"></a>#'
이 표현식은 속성 이름과 속성 사이에 선택적 공백을 허용합니다. 해당 값은 물론 속성 값과 주변 HTML 태그 사이에도 적용됩니다.
문자 클래스에 대한 참고 사항
원래 코드에서는 문자 클래스 [s를 사용했습니다. ]로 인해 예상치 못한 결과가 발생했습니다. 문자 클래스는 해당 멤버 중 하나와 한 번 일치하며 수량자는 여러 번 발생할 수 있도록 허용합니다. [s]를 s로 바꾸면 공백 문자만 일치하고 한정자가 해당 문자에만 적용되도록 할 수 있습니다.
위 내용은 HTML 구문 분석을 위해 정규식에서 선택적 공백을 무시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!