C# 정규식으로 파이썬 주석 처리하기
글쓴이: 추헌오@Google / 작성시간: 화, 2018/10/16 - 7:29오전
제가 지금 c# 으로 파이썬 에디터를 만들고 있는데 파이썬 파일 안에 주석들의 색상을 초록색으로 하려고 합니다.
@"#.*$" 을 이용하면 '#' 으로 된 주석을 찾아 색상 변경이 가능합니다.
그러나 문제는 """ 을 이용한 주석을 찾아 색상을 변경하려 하는데 도무지 방법을 모르겠습니다.
("""|''')[\s\S]*?\1 이러한 정규식을 사용해서 regex 101 이라는 정규식 테스트 사이트에선 잘 작동하는 것이
c# 에서는 싱글라인은 되는데 멀티 라인은 안되더라구요.
regex 101 사이트 : https://regex101.com/r/6HdVq7/1
어떻게 하면 좋을까요
Forums:
Regex객체에 RegexOptions.SingleLine 속성을 추가하세요.
https://stackoverflow.com/questions/1780009/multiline-regular-expression-in-c-sharp
위의 링크의 내용대로 RegexOptions.Singleline은 매칭할 대상을 하나의 문자열로 처리한다는 옵션입니다. Regex 객체를 할당할 때, 패턴과 함께 설정하시면 되겠습니다.
답변 감사드립니다. 근데 제가 저기서 말한 싱글라인과
답변 감사드립니다. 근데 제가 저기서 말한 싱글라인과 멀티라인은 RegexOptions.Singleline, RegexOptions.Mulitline 이 아니라 주석에서
""" comment comment """ 와 같은 싱글라인과
""" comment
comment
comment
""" 와 같은 멀티 라인을 말한 것입니다
https://regex101.com/r/6HdVq7
https://regex101.com/r/6HdVq7/3 여기 사이트에서 테스트 했을때 원하는대로 잘 되나
실제로 c#에서 RegexOptions.Singleline 을 적용해도 싱글라인 """ comment comment """ 는 되는데
멀티라인
""" comment
comment
""" 는 되지 않습니다. 좋은 방법 없을까요? ㅠ
패턴이...
[\s\S]* 대신에 .* 으로 바꾸면 어떨까요?
댓글 달기