UltraEdit - Replace 버그! (수정)
2017.08.02 16:19
Ultraedit 사용자입니다
find & replace 기능과 관련하여 버그를 발견한 것 같은데^^
버그치고는 너무 큰 버그라서 고수님들께 확인해보고 싶습니다.
먼저
을 다운 받으시고
그 안의 testbug.txt 를 UltraEdit 로 열어주세요.
그리고
열었을 때 인코딩 설정이 아래 그림과 같이 되었는지 확인부탁드립니다.
만일 인코딩이 다르게 열렸다면 위 그림처럼 설정 부탁드립니다.
Find and replace 창에서
current file 에 체크
regular expression 에 체크
Perl/Unix/UtraEit 중에 Perl 로
하고 a 를 b 로 바꿔보세요.
(이 3박자가 맞을 때만 버그가 작동하는 듯)
상식대로라면 문서가
bbb
가나다
로 바뀌어야 할텐데
바뀌지 않습니다.
고수님들 설명 부탁드립니다.
댓글 [5]
-
pCsOrI 2017.08.02 20:51
-
큰돌 2017.08.02 21:47
버그가 맞네요.
1. 파일의 코드페이지가 949이고. 내용에 한글과 영문이 섞여 있음
2. Perl 정규식 사용
3. 이 파일 또는 전체 파일에서 교체 선택
이 조건 하에서 Replace All이 동작하지 않네요. Replace는 동작합니다.
3번의 경우 '선택한 텍스트(Selected text)'를 선택하고, 문서 전체를 선택(Ctrl-A)한 경우에는 Replace all이 동작합니다.
-
ton3d 2017.08.02 22:14
버그 확인해주셔서 감사합니다^^
참고로 aaa가나다 처럼 한 줄에 영문,한글이 모두 다 있으면 버그없이 잘 됩니다.
이렇게 특수한 조건에서만 버그가 생기니 놀랐네요
그리고 스크립트로 해도 버그 현상이 똑같이 있습니다
-
pCsOrI 2017.08.02 22:21
안시가 아닌 유니코드 utf-8 문서로 사용하십시오.
Perl 구문은 ANSI를 올바르게 지원하지 않습니다.
-
큰돌 2017.08.03 00:22
7월 31일자 업데이트인 24.10.0.35에서 비슷한 버그 일부가 수정됐나 보네요. 하지만, 말씀하신 버그는 아직 존재합니다.
Addressed incorrect matches following non-regexp search with Perl regexp enabled.
위의 캡처 화면 설정 상태에서Replace 누르면 abb로 변경되었을 것이고 (커서가 위치 부분부터 바꾸기 시작)Replace all을 누르면 모든 bbb로 변경됩니다. (커서와 상관 없이 문서내의 모든 문자 변경)인코딩 방법, 정규식 관계없습니다.제 설명이 잘못되었네요.
Perl 구문은 ANSI가 아닌 UTF-8로 작성해야 합니다.
위 예제는 UTF-8이 아닌 안시 버전이므로 정규식으로 인식하지 못하는 것 같습니다.