소프트웨어 Emeditor 정규식 질문입니다. 괄호 앞뒤에 '를 삭제하거나 삽입하기
2022.11.30 14:54
Emeditor 정규식 질문입니다. 괄호 앞뒤에 '를 삭제하거나 삽입하기
1. 인용이나 강조할 때 ['000(AAA)']에서 괄호 뒤에 '가 있는 경우 괄호 앞에 옮기기
'홍길동(Hong Gilldong)' -> '홍길동(Hong Gilldong)'
영어의 길이는 이름일 수도 있지만, 문장 인용의 경우에는 한문장/여러 문장장/단락이 될 경우도 있습니다.
개념의 ‘각본(script)’에 -> 개념의 ‘각본'(script)에 관한 이장에서는,
‘습관(habit)’은 행동의 핵심적 몰이꾼이다. -> ‘습관'(habit)은 행동의 핵심적 몰이꾼이다.
Julie는 실존태도를 세상을 보는 안경, 즉 ‘세상을 보는 창(the windows on the world)’으로 부른다. ->
Julie는 실존태도를 세상을 보는 안경, 즉 ‘세상을 보는 창'(the windows on the world)으로 부른다.
각본결단으로 이끄는 것은 주로 ‘잘못된 감정 조율(misattunement)’, 감정 조율의 오해 또는 결핍의 경험들이다(2010). ->
각본결단으로 이끄는 것은 주로 ‘잘못된 감정 조율'(misattunement), 감정 조율의 오해 또는 결핍의 경험들이다(2010).
2. 따옴표가 괄호 뒤에 없어진 경우 영어단호 앞 괄호 앞에 새로 만들기
'홍길동(Hong Gilldong) -> '홍길동'(Hong Gilldong)
‘환자! -> ‘환자'!
‘항상성(homeostasis) -> ‘항상성'(homeostasis)
각본은 때때로 ‘나는 어디에도 속하지 않는다(I don’t belong) 각본으로 묘사되기도한다(Harg, 2003). ->
각본은 때때로 ‘나는 어디에도 속하지 않는다'(I don’t belong) 각본으로 묘사되기도한다(Harg, 2003).
이러한 행동들을 ‘(작전)활동(operation, 움직임)이라 부르며,
-> 이러한 행동들을 ‘(작전)활동'(operation, 움직임)이라 부르며,
드라이버 행동의 밝은 면을 ‘업무방식(working style)이라 부르고 어두운 면을 ‘드라이버’라 부르자고 제안한다. ->
드라이버 행동의 밝은 면을 ‘업무방식'(working style)이라 부르고 어두운 면을 ‘드라이버’라 부르자고 제안한다.
댓글 [5]
-
메리아 2022.11.30 16:44
-
파풍초 2022.11.30 18:00
메리아님께,
도움에 정말 감사드립니다.
문서의 양이 많아서 타이핑하듯 수작업을 했는데,
한번에 해결이 되어서 정말 고맙습니다.
이게 정규식의 힘이 아닌가 합니다.
초보자 입장에서는 하나하나 수작업하는 것이지만
이렇게 정규식을 통해 변환될 수 있다는 것만으로도
컴퓨터를 사용하는 사람의 복이 아닐까 합니다.
물론 전문가의 눈으로 보면 마치 조가비 하나 건지고 좋아하는 어린아이처럼 보일 수 있지만 초보자입장에서는 참 모든 것이 신기하기만 합니다.
알려주신 방법으로 여러가지를 한번 응용해서 해 보도록 하겠습니다.
Happy day!
-
지후빠 2022.11.30 20:52
위 메아리님 내용을 조금 수정해봤습니다. 1,2번의 경우를 가리지 않고 사용할 수 있도록...
검색 : ['‘]([^'‘,a-zA-Z]+?)(\(.+?\))['’]?
변환 : '$1'$2
-
메리아 2022.11.30 23:15
이게 훨씬 단순하고 간단하군요
다만 딱 하나
‘환자! -> ‘환자'!
이 예문만 실패하는군요 ㅠㅠ
-
지후빠 2022.12.01 09:18
본문을 건성으로 봤습니다. 이건 패턴이 다르므로 추가로 하는 것이 좋을 것 같습니다. ^^
1번은...
검색 : ['‘](.+?)(\(.+?\))['’]
변환 : '$1'$2
https://regexr.com/73gt0
2번은 일단 한번에는 불가능할겁니다
1번을 그대로 가져와서(고쳤는데 지우는거 깜빡했네요)1) 1번에 해당하는 것들을 이상한 글자로 바꿈
검색 : ['‘]([가-힣ㄱ-ㅎㅏ-ㅣa-z \t]+?)['’]검색 : ['‘]([(]*[가-힣ㄱ-ㅎㅏ-ㅣa-z \t]+[)]*[가-힣ㄱ-ㅎㅏ-ㅣa-z \t]+)['’]
변환 : ;;;$1;;; (대충 안나올법한 문자조합)
2) 원하는 변환 수행
검색 : ['‘]([(]*[가-힣ㄱ-ㅎㅏ-ㅣa-z \t]+[)]*[가-힣ㄱ-ㅎㅏ-ㅣa-z \t]+)
변환 : '$1'
3) 1)에서 한거 복구
검색 : ;;;([가-힣ㄱ-ㅎㅏ-ㅣa-z \t]+?);;;검색 : ;;;([(]*[가-힣ㄱ-ㅎㅏ-ㅣa-z \t]+[)]*[가-힣ㄱ-ㅎㅏ-ㅣa-z \t]+);;;
변환 : '$1'
대강 이런식으로 하면 되지 않을까 싶네요.
이렇게 복잡하게 해야하는 이유는 저렇게 유사한 구조가 있을때는
프로그래밍 논리처럼 "이게 있으면 제외"라는 식으로 잘 안되기 떄문입니다.
그래서 충돌할만한건 미리 임시로 특수문자나 문자조합으로 바꾸고 복구하는게 편합니다.
(참고로 정규식에 빈칸 보이는 가-힣 이 부분은 히+ㅎ 입니다. 윈포럼 폰트가 완전체 폰트가 아니라서 표시 안됩니다. ㅠㅠ)
-------------------
낮에 급하게 하다 잘못쓴거 수정했습니다. ㅠㅠ
2번은 예문에서 일부 안되는걸 테스트 제대로 안하고 올렸네요.
-------------------
다른거는 특별히 어려운 구문은 없습니다만
중간에 길어보이는거 설명하자면
[가-힣ㄱ-ㅎㅏ-ㅣa-z \t]
가-힣ㄱ-ㅎㅏ-ㅣ -> 한글 전체(빈칸은 말했다시피 히+ㅎ. 긁어서 메모장에 붙여보면 보임)
a-z -> 영문자 (i옵션 없으면 a-zA-Z)
\t -> 공백,탭 (\s를 쓰지 않은 이유는 줄바꿈 거르기 위함)
등을 의미합니다.
여기서 꼭 들어가야하는 문자조합 있으면 하나씩 덧붙여 추가하면 됩니다.
(숫자가 필요하면 0-9 를 넣고 .이 필요하면 .을 넣고...)
아래 지후빠님이 하신 방법은 절대 안들어 갈만한 것을 거르는 식으로 넣는거인데, 별문제 없으면 써도되지만 예상못한게 포함될 수 있어서
좀 길어지더라도 목표로 하는 문자조합을 넣는게 좋을수도 있습니다.