[regex] VSCode 정규식 하위 일치 수학 찾기 및 바꾸기?

%s@{fileID: \(213[0-9]*\)@\='{fileID: '.(submatch(1)-1900)@

vim 에서이 정규식 검색 및 바꾸기 명령을 사용하여 일치하는 각 ID에서 상수를 뺍니다.

VSCode에서 정규 표현식을 찾을 수 있지만 submatch수학 및 대체를 어떻게 참조 할 수 있습니까? submatch(1)VSCode에서 작동하지 않습니까?

감사.



답변

정규 표현식을 (foobar)사용 $1하면 바꾸기 입력 필드에 더 많은 그룹이있는 경우 등을 사용하여 첫 번째 그룹을 참조 할 수 있습니다 .


답변

예를 들어 벤자민의 대답을 강화하려면 :

Find        Carrots(With)Dip(Are)Yummy
Replace     Bananas$1Mustard$2Gross
Result      BananasWithMustardAreGross

괄호 안에있는 것은 정규식 일 수 있습니다.


답변

다른 예를 추가하려면 다음을 수행하십시오.

img html 태그에서 src attr을 바꾸고 있었지만 src 만 바꾸고 img 선언과 src 속성 사이에 텍스트를 유지해야했습니다.

이미지에서와 같이 찾기 + 바꾸기 도구 (ctrl + h)를 사용했습니다.
찾아 교체


답변

내 경우에는 $ 1이 작동하지 않았지만 $ 0은 내 목적에 적합합니다.

이 경우 문자열을 올바른 형식으로 바꾸어 Laravel에서 번역하려고 시도했지만 정렬하는 데 시간이 걸리기 때문에 다른 사람에게 유용 할 수 있기를 바랍니다.

Search: (?<=<div>).*?(?=</div>)
Replace: {{ __('$0') }}

라 라벨 번역을위한 정규식 대체 문자열


답변

초보자에게는 허용되는 대답이 맞지만 VSC 또는 Regex에 익숙하지 않은 경우 약간 간결합니다.

따라서 이것이 첫 번째 접촉 인 경우 :

텍스트 를 찾아서 수정 하려면

  1. “찾기”단계에서 I want to find (group1) and (group2)괄호를 사용하여 “그룹 캡처”와 함께 정규식을 사용할 수 있습니다 . 이 같은 텍스트를 찾을 것입니다 I want to find group1 and group2,하지만 차이는 다음 참조 할 수 group1group2다음 단계에서 :

  2. 은 “교체”단계에서를 통해 캡처 그룹을 참조 할 수 있습니다 $1, $2당신이 문장을 변경할 수 있도록, 등 I found $1 and $2 having a picnic어떤 출력하고자,I found group1 and group2 having a picnic.

노트:

  • 문자열 대신 내부 또는 외부의 모든 것이 ()정규식이 될 수 있습니다.

  • $0 전체 경기를 말합니다


답변

또 다른 간단한 예 :

Search: style="(.+?)"
Replace: css={css`$1`}

감정 / css로 HTML을 JSX로 변환하는 데 유용합니다!


답변