Visual Studio Code는 어떤 종류의 Regex를 사용합니까?
Visual Studio Code에서 검색-바꾸기를 시도하면 정규식 버전이 전체 Visual Studio와 다르다는 것을 알았습니다. 특히 string (?<p>[\w]+)
Visual Studio에서는 작동하지만 Visual Studio Code에서는 작동하지 않는 명명 된 그룹을 선언하려고합니다 . 오류로 불평합니다 Invalid group
.
이 특정 문제를 해결하는 것 외에도 Visual Studio Code에서 Regexes의 특징과 이에 대한 설명서를 찾을 수있는 위치에 대한 정보를 찾고 있으므로 우연히 발견 할 수있는 다른 질문에 대해 스스로 도울 수 있습니다.
전체 Visual Studio는 여기에 설명 된대로 .NET 정규식을 사용 합니다 . 이 링크는 Stackoverflow의 다른 곳에서 VS Code에 대한 설명서로 언급되지만 그렇지 않습니다.
파일에서 찾기 / 바꾸기 사이드 바의 Rust Regex
MSFT의 Rob Lourens는 파일 검색이 Rust 정규식을 사용한다고 썼습니다. 녹 언어 문서는 구문을 설명합니다.
파일 위젯에서 찾기 / 바꾸기의 JavaScript Regex
MSFT의 Alexandru Dima는 찾기 위젯이 JavaScript 정규식을 사용한다고 썼습니다. Wicktor가 언급했듯이 ECMAScript 5의 문서 는 구문을 설명합니다. MDN JavaScript 정규식 가이드도 마찬가지 입니다.
차이 테스트
파일에서 찾기 사이드 바는 지원하지 않지만 파일 (?=foobar)
에서 찾기 위젯은 미리보기 구문을 지원합니다.
그룹으로 찾기 / 바꾸기에 관하여
그룹, 괄호를 사용하여 찾기 / 바꾸기 위해 ()
그룹과 $1
, $2
, $3
, $n
대체합니다.
여기에 예가 있습니다.
전에:
후:
Shaun의 대답 은 여전히 정확하지만 업데이트를 추가하기 위해 최근 VS Code 는 Perl 기반 PCRE2 엔진 사용을 선택할 수있는 옵션을 추가 했습니다 . 설정 구성을 통해 활성화 할 수 있습니다.
이를 통해 미리보기 및 역 참조와 같은 고급 정규식 작업을 수행 할 수 있습니다 . 그러나 아래에서 언급했듯이 정규식은 여전히 유효한 JavaScript regex 여야 합니다 .
VS Code는 정규식 검색을 지원하지만 역 참조 및 둘러보기는 기본적으로 지원되지 않습니다. 그러나 search.usePCRE2 설정으로 이를 활성화 할 수 있습니다 . 이렇게하면 PCRE2 정규식 엔진을 사용하도록 ripgrep이 구성됩니다. PCRE2는 다른 많은 기능을 지원하지만 , 열린 편집기는 여전히 편집기의 JavaScript 기반 검색을 사용하여 검색되기 때문에 JavaScript에서 여전히 유효한 정규식 표현식 만 지원 합니다 .
그리고 보너스로 여기에서 여러 줄 검색을 시도한 경우 VS Code는 최근에 해당 기능도 추가했습니다 !
참고 URL : https://stackoverflow.com/questions/42179046/what-flavor-of-regex-does-visual-studio-code-use
'programing' 카테고리의 다른 글
문자열에 하위 문자열이 포함되어 있는지 확인 (0) | 2020.08.14 |
---|---|
src / androidtest와 src / test 폴더의 차이점은 무엇입니까? (0) | 2020.08.13 |
명령 줄에서 java .class를 실행하는 방법 (0) | 2020.08.13 |
Python 코드를 한 줄씩 프로파일 링하려면 어떻게해야합니까? (0) | 2020.08.13 |
오류 메시지에서 실제 저장 프로 시저 줄 번호를 어떻게 얻을 수 있습니까? (0) | 2020.08.13 |