VSCode регулярное выражение найти и выбрать данные из определенной группы (не заменить) - PullRequest
0 голосов
/ 01 июля 2018

Рассмотрим следующий набор данных:

<uses-configuration
android:reqFiveWayNav=["true" | "false"]
android:reqHardKeyboard=["true" | "false"]
android:reqKeyboardType=["undefined" | "nokeys" | "qwerty" | "twelvekey"]
android:reqNavigation=["undefined" | "nonav" | "dpad" | "trackball" | "wheel"]
android:reqTouchScreen=["undefined" | "notouch" | "stylus" | "finger"] />

Я пытаюсь выбрать все значения после android: Для этого я использую (a\w+:)(\w+), который делает именно то, что я хочу. Я знаю, что могу использовать поиск и замену и использовать $2 для выбора второй группы, но я не хочу заменять что-либо. Я хочу выбрать все, что соответствует второй группе, с помощью клавиши alt+enter.

Возможно ли это?

1 Ответ

0 голосов
/ 02 июля 2018

Что вам действительно нужно, так это обходной путь. Я не верю, что vscode поддерживает lookbehinds (см. проблемы: поддержка lookbehind идет ). Но он поддерживает прогнозирование так:

(\w+)(?=\=\[.*\])

должно работать для вас, пока за вашими желаемыми значениями следует "[.*]", и ничто нежелательное не имеет такого шаблона. Предварительная часть не будет выбрана vscode. И тогда Alt - Enter выбирает все совпадения.

Если будет поддерживаться lookbehind, возможно, скоро это сработает:

(?<=a\w+:)(\w+)
...