현재 몸 담고 있는 프로젝트에서 국문 텍스트를 영문 텍스트로 번역해야 하는 과업이 있는데,
단순히 정규식 대충 때려박아서 한글이나 추출하면 되겠지 하고 안일하게 생각했다가
막상 하려보니 주석 내 한글 텍스트가 국문 추출에 있어서 해당 부분이 걸림돌이 되었습니다.
먼저 국문 주석들을 지워버리고 국문 텍스트를 추출하기 위해 정규식을 작성해 IDE 검색을 통하여 주석을 지우기로 하였습니다.
(어차피 복원은 형상관리툴로 다시 하면 되니..)
한글을 사용한 주석을 찾고 싶으시면 아래 정규식을 사용하시면 됩니다.
◉ // 한 줄 주석
(\/\/)[^\n]*[ㄱ-ㅎ가-힣]+[^\n]*
주석 형태가 다른 경우 (\/\/)를 치환하십시오
- (\/\/): //
- [^\n]* : 줄바꿈을 제외한 문자 0번 이상 반복
- [ㄱ-ㅎ가-힣]+ : 한글 문자 1번 이상 반복
◉ /* 여러 줄 주석 */
(\/\*)([ \n\t]|(?!(\*\/)).)*[ㄱ-ㅎ가-힣]+([ \n\t]|(?!(\*\/)).)*(\*\/)
주석 형태가 다른 경우, 여는 주석 : (\/\*) , 닫는 주석 : (\*\/) 을 치환하십시오- (\/\*): /* 여는 주석
- (\*\/): */ 닫는 주석
- [ \n\t] : 공백 문자
- (?!(\*\/)). : 닫는 주석을 제외한 아무개 문자
- ([ \n\t]|(?!(\*\/)).)* : 공백이거나 닫는 주석을 제외한 아무 문자 0번 이상 반복
- [ㄱ-ㅎ가-힣]+ : 한글 문자 1번 이상 반복
◉ <!-- HTML 주석 -->
(<!--)([ \n\t]|(?!(-->)).)*[ㄱ-ㅎ가-힣]+([ \n\t]|(?!(-->)).)*(-->)
주석 형태가 다른 경우, 여는 주석 : (<!--) , 닫는 주석 : (-->) 을 치환하십시오
- (<!--): <!-- 여는 주석
- (-->): --> 닫는 주석
- [ \n\t] : 공백 문자
- (?!(-->)). : 닫는 주석을 제외한 아무 문자
- ([ \n\t]|(?!(-->)).)* : 공백이거나 닫는 주석을 제외한 아무 문자 0번 이상 반복
- [ㄱ-ㅎ가-힣]+ : 한글 문자 1번 이상 반복
추가로, 정규식 테스트 및 분석을 할 수 있는 사이트가 있어 소개드립니다.
댓글 없음:
댓글 쓰기