'#if DEBUG'및 '#endif'가 두 마크 사이의 콘텐츠를 제거하는 방법

웨이

'#if DEBUG'및 '#endif'가 두 마크 사이의 콘텐츠를 제거하는 방법

예 : SQL 문자열 아래에서는 '#if DEBUG'및 '#endif' /**if DEBUG**/와 같이와 사이의 문자열을 제거 할 것으로 예상합니다./**endif**/

select
    id
    ,name
    /**if DEBUG**/
    ,test1
    ,test2
    /**endif**/
from table
where sDate >= '2021-01-01'
    /**if DEBUG**/
    and test1 = '123456'
    /**endif**/

예상 결과 :

select
    id
    ,name
from table
where sDate >= '2021-01-01'

내가 시도한 것

정규식을 사용해 보았습니다.

  1. (\/\*\*if\sDEBUG\*\*\/)(?<content>)(\/\*\*endif\*\*\/)
  2. (\/\*\*if\sDEBUG\*\*\/)|(\/\/[\w\s\']*)|(\/\*\*endif\*\*\/)

문자열을 가져 오지만 작동하지 않으려면 내 코드 :

void Main()
{
    var input = @"
select 
    id
    ,name
    /**if DEBUG**/
    ,test1
    ,test2
    /**endif**/
from table
where sDate >= '2021-01-01'
    /**if DEBUG**/
    and test1 = '123456'
    /**endif**/            
            ";
    var matchs = Regex.Matches(input,@"(\/\*\*if\sDEBUG\*\*\/)(?<content>)(\/\*\*endif\*\*\/)")
        .Select(m=>new {Key = m.Groups["content"].Value,Value=m.Groups["content"].Value})
    ;
    foreach (var m in matchs)
    {
        input.Replace(m.Value,"");
    }
    Console.WriteLine(input);   
}
새긴 ​​금

Regex.Replace직접 사용하지 않는 이유는 무엇 입니까? 줄 바꿈 일치시키는 .*?사용하는 한 디버그 마커 사이의 텍스트를 캡처하는 데 사용할 수 있습니다 .RegexOptions.Singleline.

void Main()
{
    var input = @"
select 
    id
    ,name
    /**if DEBUG**/
    ,test1
    ,test2
    /**endif**/
from table
where sDate >= '2021-01-01'
    /**if DEBUG**/
    and test1 = '123456'
    /**endif**/            
            ";
    input = Regex.Replace(input, @"/\*\*if\sDEBUG\*\*/.*?/\*\*endif\*\*/", "", RegexOptions.Singleline);
    Console.WriteLine(input);   
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

cakephp의 링크 안에 콘텐츠를 추가하는 방법

분류에서Dev

django 관리 양식에서 사용자 정의 레이블 및 콘텐츠를 추가하는 방법

분류에서Dev

Blob 컨테이너 및 콘텐츠를 복제하는 방법

분류에서Dev

tumblr 및 무한 스크롤과 같은 더 많은 콘텐츠가 페이지에로드 될 때 함수를 트리거하는 방법

분류에서Dev

콘텐츠를 래핑하는 스크롤 가능한 두 개의 목록보기로 Linearlayout을 스크롤 가능하게 만드는 방법

분류에서Dev

열 사이에 테두리가있는 열에 콘텐츠를 배포하는 방법 (워드 프레스)

분류에서Dev

추가 언어 범위를 위해 Magento CMS 페이지 및 콘텐츠 블록을 복제하는 방법

분류에서Dev

utm 콘텐츠가 중간 SQL에 속하는 다양한 길이의 링크에서 utm 콘텐츠를 분리하는 방법

분류에서Dev

Wordpress 게시물에서 포함 된 콘텐츠 및 링크를 가져 오는 기능 (1에서 모두)

분류에서Dev

Crawljax에서 크롤링 콘텐츠를 가져 오는 방법

분류에서Dev

사용자가 추가 한 콘텐츠를 제한하는 방법

분류에서Dev

Outlook 2019 (데스크톱)를 백업하는 방법-모든 프로필 및 콘텐츠 (이메일, 일정 등)

분류에서Dev

smtplib를 통해 이메일을 보낼 때 이메일 콘텐츠에 href 링크를 추가하는 방법

분류에서Dev

HTML에서 콘텐츠가 아닌 div 컨테이너를 제거하는 방법

분류에서Dev

내 테마 콘텐츠를 추가하는 방법 King composer wordpress 페이지 빌더 플러그인?

분류에서Dev

.focus ()-contentEditable div를 사용하여 콘텐츠 끝에 커서를 두는 방법

분류에서Dev

.focus ()-contentEditable div를 사용하여 콘텐츠 끝에 커서를 두는 방법

분류에서Dev

콘텐츠가 이미있는 XmlWriter에 XElement를 쓰는 방법

분류에서Dev

asp.net/WCF/ 기본 제공 기술없이 .net (및 가급적 iis)으로 동적 콘텐츠를 제공하는 가장 간단한 방법

분류에서Dev

Python-파일에서 두 오프셋 사이의 콘텐츠를 올바르게 가져 오는 방법은 무엇입니까?

분류에서Dev

행의 ID와 링크의 rel 속성을 사용하여 특정 테이블 행 콘텐츠에서 onclick 이벤트를 가리키는 방법-jQuery

분류에서Dev

클릭시 div 콘텐츠 하단의 테두리를 지정하는 방법

분류에서Dev

UWP XAML ScrollViewer 스크롤 가능한 콘텐츠의 시각적 표시기를 표시하는 방법

분류에서Dev

WPF는 두 가지 방법으로 콘텐츠를 표시합니다.

분류에서Dev

PHP의 콘텐츠에서 링크를 얻는 방법

분류에서Dev

Flutter : 콘텐츠가 아닌 컨테이너를 스크롤하는 방법은 무엇입니까?

분류에서Dev

asp.net 페이지에 자바 스크립트 콘텐츠를 추가하는 방법

분류에서Dev

Wikipedia의 API를 사용하여 제목 및 콘텐츠에서 용어를 검색하는 방법

분류에서Dev

모달 창에서 콘텐츠 테두리를 제거하는 방법

Related 관련 기사

  1. 1

    cakephp의 링크 안에 콘텐츠를 추가하는 방법

  2. 2

    django 관리 양식에서 사용자 정의 레이블 및 콘텐츠를 추가하는 방법

  3. 3

    Blob 컨테이너 및 콘텐츠를 복제하는 방법

  4. 4

    tumblr 및 무한 스크롤과 같은 더 많은 콘텐츠가 페이지에로드 될 때 함수를 트리거하는 방법

  5. 5

    콘텐츠를 래핑하는 스크롤 가능한 두 개의 목록보기로 Linearlayout을 스크롤 가능하게 만드는 방법

  6. 6

    열 사이에 테두리가있는 열에 콘텐츠를 배포하는 방법 (워드 프레스)

  7. 7

    추가 언어 범위를 위해 Magento CMS 페이지 및 콘텐츠 블록을 복제하는 방법

  8. 8

    utm 콘텐츠가 중간 SQL에 속하는 다양한 길이의 링크에서 utm 콘텐츠를 분리하는 방법

  9. 9

    Wordpress 게시물에서 포함 된 콘텐츠 및 링크를 가져 오는 기능 (1에서 모두)

  10. 10

    Crawljax에서 크롤링 콘텐츠를 가져 오는 방법

  11. 11

    사용자가 추가 한 콘텐츠를 제한하는 방법

  12. 12

    Outlook 2019 (데스크톱)를 백업하는 방법-모든 프로필 및 콘텐츠 (이메일, 일정 등)

  13. 13

    smtplib를 통해 이메일을 보낼 때 이메일 콘텐츠에 href 링크를 추가하는 방법

  14. 14

    HTML에서 콘텐츠가 아닌 div 컨테이너를 제거하는 방법

  15. 15

    내 테마 콘텐츠를 추가하는 방법 King composer wordpress 페이지 빌더 플러그인?

  16. 16

    .focus ()-contentEditable div를 사용하여 콘텐츠 끝에 커서를 두는 방법

  17. 17

    .focus ()-contentEditable div를 사용하여 콘텐츠 끝에 커서를 두는 방법

  18. 18

    콘텐츠가 이미있는 XmlWriter에 XElement를 쓰는 방법

  19. 19

    asp.net/WCF/ 기본 제공 기술없이 .net (및 가급적 iis)으로 동적 콘텐츠를 제공하는 가장 간단한 방법

  20. 20

    Python-파일에서 두 오프셋 사이의 콘텐츠를 올바르게 가져 오는 방법은 무엇입니까?

  21. 21

    행의 ID와 링크의 rel 속성을 사용하여 특정 테이블 행 콘텐츠에서 onclick 이벤트를 가리키는 방법-jQuery

  22. 22

    클릭시 div 콘텐츠 하단의 테두리를 지정하는 방법

  23. 23

    UWP XAML ScrollViewer 스크롤 가능한 콘텐츠의 시각적 표시기를 표시하는 방법

  24. 24

    WPF는 두 가지 방법으로 콘텐츠를 표시합니다.

  25. 25

    PHP의 콘텐츠에서 링크를 얻는 방법

  26. 26

    Flutter : 콘텐츠가 아닌 컨테이너를 스크롤하는 방법은 무엇입니까?

  27. 27

    asp.net 페이지에 자바 스크립트 콘텐츠를 추가하는 방법

  28. 28

    Wikipedia의 API를 사용하여 제목 및 콘텐츠에서 용어를 검색하는 방법

  29. 29

    모달 창에서 콘텐츠 테두리를 제거하는 방법

뜨겁다태그

보관