【发布时间】:2021-07-02 00:13:05
【问题描述】:
所以 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 的第二次或第一次出现。并且只在每一行提取它。
但是,我对使用哪个正则表达式感到困惑。以下是视觉工作室正则表达式指南的链接 https://docs.microsoft.com/en-us/visualstudio/ide/using-regular-expressions-in-visual-studio?view=vs-2019
【问题讨论】:
-
您的模式不仅匹配名称,而且确实有 2 个捕获组。对于捕获组值,您可以使用
$1,但在这种情况下,组不会第二次出现anyconnect-all-packages-4.10.00093-k9.zip,它是第二个捕获组的值。见regex101.com/r/aTulwf/1 -
您的链接指向 Visual Studio,而不是 Visual Studio Code。
-
请尝试并更清楚地了解您要做什么。例如,您是否要在 VS Code 的 Find-Replace 对话框的 Replace 字段中引用捕获组?
-
如果你只想匹配'name',你可以使用例如
(?<= href=")[^"]+