>source

Java 정규식을 사용하고 있습니다. replaceAll HTML 페이지의 문자열을 대체합니다. 문자열이 한 줄에 있으면 작동합니다. 그러나 문자열이 여러 줄로 나뉘면 replaceAll 실패합니다.

내 코드는 다음과 같습니다.

str = str.replaceAll( "<!--(.*?)-->", "" );

str에 저장된 html 파일의 입력은 다음과 같습니다.

<p> some html </p>
<!-- 
This is comment
This is another comment
-->

HTML 주석 내의 부분은 Java 코드를 사용하여 제거/교체되지 않습니다.

  • 답변 # 1

    당신은 사용할 수 있습니다 Pattern.DOTALL 그렇게 신고 . 새 줄과도 일치합니다.

    Pattern p = Pattern.compile("<!--(.*?)-->", Pattern.DOTALL);
    str = p.matcher(str).replaceAll("");
    
    

관련 자료

  • 이전 loops - Python Crash Course, 2 판 옆으로 사수 외계인은 맨 위 줄이 맨 아래에 닿을 때까지 계속 아래로 이동합니다
  • 다음 apache2 - DynDNS, Docker 컨테이너 및 80이 아닌 다른 포트를 통해 서비스를 노출합니다