문제

다음과 같은 모습을 보이는 마코 템플릿이 있습니다.

% if staff:
    <!-- begin staff -->
    ...
    <!-- end staff -->
% endif

그렇게하면 직원 변수를 사실로 전달하면 해당 의견이 나타납니다. 나는 다음과 같은 보이는 정규 표현식을 사용하여 이것을 테스트하려고합니다.

re.search('<!-- begin staff -->.*<!-- end staff -->', text)

주석이 HTML 출력에 나타나는지 확인했지만 정규 표현식이 일치하지 않습니다. 나는 심지어 의견을 내려고 시도했다 (<!-- begin staff --> 그리고 <!-- end staff -->)) re.escape를 통해, 그러나 여전히 운이 없습니다. 내가 뭘 잘못하고 있죠?

아니면이 테스트를 실행하는 더 좋은 방법이 있습니까?

도움이 되었습니까?

해결책

기본적으로 . Newlines와 일치하지 않습니다. 추가해야합니다 re.DOTALL 옵션.

re.search('<!-- begin staff -->.*<!-- end staff -->', text, re.DOTALL)

두 명 이상의 직원 섹션이 있으면 경기를 비밀로 만들 수도 있습니다.

re.search('<!-- begin staff -->.*?<!-- end staff -->', text, re.DOTALL)

다른 팁

HTML 파서와 같은 것을 사용하십시오 htmlparser 대신에. 보다 XML과 HTML을 정규화하기 어려운 이유에 대한 몇 가지 예를 제공 할 수 있습니까? 이유를 위해.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top