답변:
바꿀 메모장 ++에서 Ctrl+ H를 눌러 바꾸기 메뉴를 엽니 다.
그런 다음 "정규식"버튼을 선택하고 교체에서 일치하는 패턴의 일부를 사용하려면 "캡처 그룹"을 사용해야합니다 ( Google에서 자세히 알아보기 ). 예를 들어, 다음 각 줄을 일치시키고 싶다고 가정 해 보겠습니다.
value="4"
value="403"
value="200"
value="201"
value="116"
value="15"
.*"\d+"
패턴을 사용하고 숫자 만 유지하고 싶습니다. 그런 다음 괄호를 사용하여 일치하는 패턴으로 캡처 그룹을 사용할 수 있습니다 (
및 )
그와 같은 : .*"(\d+)"
. 따라서 이제 교체에서 간단히 작성할 수 있습니다 $1
. 여기서 $ 1은 첫 번째 캡처 그룹의 값을 참조하고 각 성공적인 일치에 대한 숫자를 반환합니다. 두 캡처 그룹이 있다면, 예를 들어 (.*)="(\d+)"
, $1
문자열을 반환 value
하고$2
숫자를 반환합니다.
따라서 다음을 사용합니다.
찾기: .*"(\d+)"
바꾸다: $1
그것은 당신을 반환합니다
4
403
200
201
116
15
앞서 언급 한 패턴을 일치시키는 더 나은 방법이 많이 있습니다. 예를 들어, 패턴 value="([0-9]+)"
이 더 구체적이고이 선들과 만 일치 할 것이기 때문에 더 좋을 것입니다. 캡처 그룹을 사용하지 않고 교체 할 수도 있지만 이것은 약간 더 고급 주제이므로 지금은 그대로 두겠습니다. :)
$1
작동하지 않았습니다. 나는 \1
대신 사용했고 그것은 효과가 있었다.
\1
Notepad ++의 모든 버전에서 작동합니다. $1
최신 버전에서만 작동합니다.
Hex Editor
플러그인에서 작동하지 않는다고 생각합니다 . 16 진보기 모드에서 Notepad ++는 Regular Expression
검색 / 바꾸기 옵션을 표시하지 않습니다 . 텍스트보기 모드 Regular Expression
에서 검색 / 바꾸기 옵션 이 표시 됩니다. 현재 현재 버전 인 Notepad ++ 버전 6.9.2를 사용하고 있습니다.
psxls가 좋은 대답을했지만 메모장 ++ 버전이 약간 다르기 때문에 $ (달러 기호) 캡처가 작동하지 않는 것 같습니다.
나는이 메모장 ++ v.5.9.3을 여기에 당신이 당신의 작업을 수행하는 방법은 다음과 같습니다
다음 패턴을 검색합니다. value = \ "([0-9] *) \" 그리고 다음으로 바꿉니다. \ 1 (캡처 그룹에 대해 수행 할 작업)
전의. 대괄호로 둘러싸 기
[\ 1]-> 값 = "[4]"생성
\1
번호를 유지하고 그 뒤에있는 따옴표를 제거하는 데 도움이되었습니다. 나는 같은 문서에서 7400 줄을 가지고 있었다 tablename.columnname = '12345'
. 첫 번째 인용문은 제거하기 쉬웠고 두 번째 인용문은 \1
바꾸기 텍스트 상자에서 사용자 를 사용하여 수행 되었습니다. 감사합니다. +1
찾기: value="([\d]+|[\d])"
바꾸다: \1
정말 너를 돌려 줄거야
4
403
200
201
116
15
js :
a='value="4"\nvalue="403"\nvalue="200"\nvalue="201"\nvalue="116"\nvalue="15"';
a = a.replace(/value="([\d]+|[\d])"/g, '$1');
console.log(a);