줄 끝 주석을 제거하려면 Perl 정규식이 필요합니다. 나는 이것에 대해 주위를 인터넷으로 봤고, 옳은 것을 찾을 수 없었던 것처럼 느낀다. 여기에 세부 사항은 다음과 같습니다따옴표가없는 한 행 끝의 주석을 제거하십시오.
EOL의 코멘트 (#) 파운드 기호를 사용하여 표시됩니다
무엇이든은 수직 막대 사용하여 인용 할 수있다 | 그래서 다음과 같은 코멘트가
을() :
foo bar #baz
을
그러나 다음과 같은하지 않습니다 :
foo |quoted###with bars|
다음은 COMME있다 NT 및 주석 문자가 포함 된 견적 :
foo |quoted###with bars| #comment here
내가 시도 우선은 s/#(?=[^|]*$).*$//
이었다, 불행하게도 파운드를 인용 제거합니다. 그것은 다음과 같은 여러 따옴표에 실패하기 때문에 작동하지 않습니다 다음 것은, /#(?=[^|]*$).*$//
입니다 :
foo |quote begins here ##still going
##and it's still going| #this is a quote, though.
, 그러나 그것은 내가 필요로하는 것들을 움켜 잡기에는 너무 복잡하다 (여러 줄로 된 주석을 필요로하지 않는다).
누구든지 EOL 주석을 제거하지만 인용 된 주석 문자는 무시할 수있는 정규식을 제공 할 수 있습니까?
거의 ... 여러 줄의 것을 다루지 않습니다. –
@NateGlenn : 물론 그렇습니다. 너 시도 했니? '# ghi'가 여러 줄의'|| | '안에 있기 때문에'abc | def # ghi'와 개행에 플러스'klm | nop # qrs'을 시도해 보았을 때'# qrs'를 벗겨 냈을뿐입니다. '조각. 당신은 다른 것을보고 있습니까? – ruakh
바로 당신입니다! 감사. –