соответствие регулярных выражений кода visual studio после слова

#regex #visual-studio-code

Вопрос:

Таким образом, код visual studio говорит, что он использует часть регулярного выражения .net. Я хочу соответствовать названию в этой части.

 <a href="anyconnect-all-packages-4.10.00093-k9.zip">anyconnect-all-packages-4.10.00093-k9.zip</a>
 

anyconnect-all-packages-4.10.00093-k9.zip

(href=»)(.*/a) это соответствует ему, но когда я пытаюсь поместить его в группы захвата, такие как 1, это не работает.

Я думаю, что с помощью группы захвата я могу вытащить второе или первое вхождение имени anyconnect-all-packages-4.10.00093-k9.zip. И извлекайте это только в каждой строке.

Однако я не знаю, какое выражение регулярного выражения использовать. Ниже приведена ссылка на руководство по регулярным выражениям visual studio https://docs.microsoft.com/en-us/visualstudio/ide/using-regular-expressions-in-visual-studio?view=vs-2019

Комментарии:

1. Ваш шаблон соответствует не только названию, но и имеет 2 группы захвата. Для значения группы захвата вы можете использовать $1 , но группы в этом случае не получают второго вхождения anyconnect-all-packages-4.10.00093-k9.zip , это значение второй группы захвата. Видишь regex101.com/r/aTulwf/1

2. Ваша ссылка относится к Visual Studio, а не к коду Visual Studio .

3. Пожалуйста, постарайтесь быть более ясным в том, что вы пытаетесь сделать. Вы хотите, например, ссылаться на группу захвата в поле Заменить диалогового окна Найти-Заменить кода VS?

4. Если вы просто хотите соответствовать «имени», вы можете использовать, например (?<= href=")[^"]

Ответ №1:

Попробуйте это регулярное выражение:

href="([^"]*)">(1)

демонстрация регулярных выражений 101

Группа 1 имеет href="<captured in group 1>" .
Группа 2 имеет внутренний текст, если он соответствует группе 1.