我在 Powershell 中使用正则表达式。我有一个非捕获组,但它仍然显示在我的结果中。

字符串是:

Grid1.Data = [['TRE - Significant Flux','EG Report','w939909','59e8a31f-d9e9-4ebf-a027-929ec62953ac'],['CB - Daily OD Report','EG Report','w9
39909','59e8a31f-d9e9-4ebf-a027-929ec62953ac'],['BC - Balance Transfers Daily - DRAFT','BC - Balance Transfers Daily - DRAFT','w939909','59e8
a31f-d9e9-4ebf-a027-929ec62953ac'],['CB - CL Activity Report','CB - CL Activity Report','w939909','59e8a31f-d9e9-4ebf-a027-929ec62953ac']]

正则表达式是:
$regex = "(?:\[').*?(?=')"

它仍然返回诸如 ['TRE - 显着通量

我需要排除开头的“['”。单引号末尾的非捕获组正在工作。

最佳答案

尝试使用后视断言

$regex = "(?<=\[').*?(?=')"

或者:
$regex = "(?:\[\[')(.*?)(?=')"

$yourstring -match $regex

$Matches[1]

关于正则表达式 - 非捕获组不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14862548/

10-13 09:25