programing

Visual Studio Code는 어떤 종류의 Regex를 사용합니까?

nasanasas 2020. 8. 13. 23:28
반응형

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 정규식을 사용한다고 썼습니다. 녹 언어 문서는 구문을 설명합니다.

GitHub의 Rob Lourens

파일 위젯에서 찾기 / 바꾸기의 JavaScript Regex

MSFT의 Alexandru Dima는 찾기 위젯이 JavaScript 정규식을 사용한다고 썼습니다. Wicktor가 언급했듯이 ECMAScript 5의 문서 는 구문을 설명합니다. MDN JavaScript 정규식 가이드도 마찬가지 입니다.

GitHub의 Alexandru Dima

차이 테스트

파일에서 찾기 사이드 바는 지원하지 않지만 파일 (?=foobar)에서 찾기 위젯은 미리보기 구문을 지원합니다.

위젯에서는 작동하지만 사이드 바에서는 작동하지 않는 미리보기를 표시합니다.

그룹으로 찾기 / 바꾸기에 관하여

그룹, 괄호를 사용하여 찾기 / 바꾸기 위해 ()그룹과 $1, $2, $3, $n대체합니다.

여기에 예가 있습니다.

전에:

이것은 바꾸기 전의 텍스트입니다.

후:

교체 후의 텍스트입니다.


Shaun의 대답 은 여전히 ​​정확하지만 업데이트를 추가하기 위해 최근 VS CodePerl 기반 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

반응형