[regex] 메모장 ++에서 모든 문자열을 각 문자열에 포함 된 숫자로 바꾸는 방법은 무엇입니까?
다음 패턴으로 모든 값을 찾으려고합니다.
value="4"
value="403"
value="200"
value="201"
value="116"
value="15"
범위 내의 값으로 바꿉니다.
패턴을 찾기 위해 다음 정규식을 사용하고 있습니다.
.*"\d+"
교체는 어떻게하나요?
답변
바꿀 메모장 ++에서 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]+)"
이 더 구체적이고이 선들과 만 일치 할 것이기 때문에 더 좋을 것입니다. 캡처 그룹을 사용하지 않고 교체 할 수도 있지만 이것은 약간 더 고급 주제이므로 지금은 그대로 두겠습니다. 🙂
답변
psxls가 좋은 대답을했지만 메모장 ++ 버전이 약간 다르기 때문에 $ (달러 기호) 캡처가 작동하지 않는 것 같습니다.
나는이 메모장 ++ v.5.9.3을 여기에 당신이 당신의 작업을 수행하는 방법은 다음과 같습니다
다음 패턴을 검색합니다. value = \ “([0-9] *) \”
그리고 다음으로 바꿉니다. \ 1 (캡처 그룹에 대해 수행 할 작업)
전의. 대괄호로 둘러싸 기
[\ 1]-> 값 = “[4]”생성
답변
바꾸다 (.*")\d+(")
와 $1x$2
x
“범위 내의 가치”는 어디에 있습니까 ?
답변
나는이 메모장 ++ v6.8.8을
찾기 : [([a-zA-Z])]
바꾸기 : [\ ‘\ 1 \’]
다음을 생성합니다 : $ array [XYZ] => $ array [ ‘XYZ’]
답변
찾기: 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);