이 정규식 <li>.*end
이 정규식 은 내가 잘못하고있는 것에 대해 작동하지 않습니까?여러 텍스트가 포함 된 정규식 쓰기 n
텍스트
<li>asdsadasd
adssadasdasdasdas
asdasdasdasdasdad
adsasdasdasdasd
dasdadadsadadasdasdasdasda
end
누군가가 나에게 모든 텍스트를 잡기 위해 정규식을 작성 도와 드릴까요?
이 정규식 <li>.*end
이 정규식 은 내가 잘못하고있는 것에 대해 작동하지 않습니까?여러 텍스트가 포함 된 정규식 쓰기 n
텍스트
<li>asdsadasd
adssadasdasdasdas
asdasdasdasdasdad
adsasdasdasdasd
dasdadadsadadasdasdasdasda
end
누군가가 나에게 모든 텍스트를 잡기 위해 정규식을 작성 도와 드릴까요?
기본적으로 .
은 개행과 일치하지 않습니다. - $
및 ^
의 동작을 변경 아니 re.MULTILINE
플래그 : 당신은 ...
regex = re.compile('<li>.*end', re.DOTALL)
또는 동등
regex = re.compile('<li>.*end(?S)')
편집을 DOTALL
플래그를 통과해야합니다.
당신은 re
에서 여러 옵션을 선택해야합니다 : 당신은 동일 re.DOTALL
대신 re.M/re.MULTILINE
를 사용하는 $
및 ^
의 동작을 필요로하는 경우
import re
expr = re.comile("<li>.*end", re.M)
는 의견과 디트리히의 대답을 고려.
MULTILINE이 아닌 DOTALL 모드 ('re.S')를 원합니다. [Dietrich (업데이트 된) 답변] (http://stackoverflow.com/a/14417309/20938) –
+1 지적 해 주셔서 감사합니다. 이 정보를 답에 추가했습니다. – Rubens
비슷한 질문이 http://stackoverflow.com/q/7173171/1328439 전에 여기에서 요청되었습니다. 솔루션에 사용 된 .DOTALL 옵션에 유의하십시오. –