> Java > java지도 시간 > 정규식은 어떻게 문자열에서 C 스타일 여러 줄 주석을 효율적으로 제거할 수 있습니까?

정규식은 어떻게 문자열에서 C 스타일 여러 줄 주석을 효율적으로 제거할 수 있습니까?

Patricia Arquette
풀어 주다: 2024-12-05 02:39:09
원래의
584명이 탐색했습니다.

How Can a Regex Efficiently Remove C-Style Multiline Comments from a String?

Regex를 사용하여 C 스타일 여러 줄 주석 일치

C 스타일 여러 줄 주석이 없는 문자열을 추출해야 합니까? 이 작업을 효과적으로 처리하는 정규식 솔루션을 살펴보겠습니다.

주어진 문자열에서 / this is comment */와 같은 여러 줄 주석을 효율적으로 제거하기 위해 특정 정규식을 사용합니다.

/\*[^*]*\*+(?:[^/*][^*]*\*+)*\*/
로그인 후 복사

이 복잡한 패턴은 다음과 같이 분해됩니다.

  • /* - 슬래시와 별표로 주석을 시작합니다.
  • 1* - 를 제외한 모든 문자와 0번 이상 일치합니다. 그 뒤에 하나 이상의 리터럴이 옵니다. 별표.
  • (?:21* ) - 0 또는 그 이상의 반복 다음:

    • 21* - 비/) 및 가 아닌 문자 뒤에 하나 이상의 문자가 옵니다. 별표.
  • / - 닫는 슬래시로 댓글을 종료합니다.

이 정규식은 이러한 세그먼트를 하나씩 일치시켜 여러 줄 댓글을 포괄적으로 식별합니다. 예제 문자열을 처리하는 데 26단계가 필요한 David의 정규식과 달리 이 최적화된 패턴은 단 12단계로 작업을 완료합니다. 광범위한 입력 문자열의 경우 David의 솔루션은 복잡한 구조로 인해 스택 오버플로 문제에 직면할 수 있으므로 효율성 이점이 분명해집니다.

이 매우 효율적인 정규식을 활용하면 입력 문자열에서 여러 줄 주석을 쉽게 제거할 수 있습니다. 깨끗하고 불필요한 잡동사니가 없습니다.


  1. *
  2. /*

위 내용은 정규식은 어떻게 문자열에서 C 스타일 여러 줄 주석을 효율적으로 제거할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿