C# 在Param(…)块之间匹配[STRING]

C# 在Param(…)块之间匹配[STRING],c#,regex,regex-lookarounds,regex-group,C#,Regex,Regex Lookarounds,Regex Group,如果您查看下面的代码片段,我将尝试匹配参数(…)块中的所有[STRING] 我做这件事已经有一段时间了,但我似乎不知道该怎么做。我尝试使用lookaheads、lookbehinds、递归和引用捕获组 我目前拥有的:(?.NET支持lookbehinds中的无限重复。这是一种在正则表达式引擎世界中不常见的功能。通过调用该功能,您可以使用以下方法实现所需的结果: (?<=Param\([^()]*)\[\w+] 使用Chrome,请参见。.NET支持lookbehinds中的无限重复。这是

如果您查看下面的代码片段,我将尝试匹配
参数(…)
中的所有
[STRING]

我做这件事已经有一段时间了,但我似乎不知道该怎么做。我尝试使用lookaheads、lookbehinds、递归和引用捕获组


我目前拥有的:
(?.NET支持lookbehinds中的无限重复。这是一种在正则表达式引擎世界中不常见的功能。通过调用该功能,您可以使用以下方法实现所需的结果:

(?<=Param\([^()]*)\[\w+]

使用Chrome,请参见。

.NET支持lookbehinds中的无限重复。这是一种在RegEx引擎世界中不常见的功能。通过调用该功能,您可以通过以下方式实现所需的结果:

(?<=Param\([^()]*)\[\w+]

使用Chrome,看看它是什么语言或工具?啊,对不起,它是C#。你太幸运了。试试
(?那很有效!谢谢!我很困惑,我不明白它是如何工作的,我可以看到
^()并理解它是打开和关闭支架,但是引擎是如何知道我们想要的匹配是在括号中间的?如果你想确保字符串在括号内,“代码> @”(什么语言或工具?),你也需要一个前瞻性。对不起,这是C。NETYou很幸运。试试<代码>(?这确实有效!谢谢!不过我很困惑,我不明白这是怎么回事,我可以看到
^()并理解它是打开和关闭支架,但是引擎是如何知道我们想要的匹配在括号中间的?如果这有意义的话,如果你想确保字符串在括号内,则需要一个前瞻,<代码>(?我有一个新问题,它与我的问题和你的答案有点相关,但我总是可以发布一个新的问题,或者只是多做一点。如果你看这个演示:你会看到
[STRING]
不再突出显示,因为其他东西也有大括号。永远不要使用您不知道其确切作用的正则表达式。您的新要求需要通过更多步骤来完成。是否要进行替换?我计划使用它突出显示参数块内[…]之间的所有类型。请尝试
(?m)(?谢谢,我已经按照我的全部要求进行了修改:我有一个新问题,它与我的问题和你的答案有点相关,但我可以随时发布一个新问题,或者只是多做一点。如果你看这个演示:你会看到
[STRING]
不再突出显示,因为其他东西也有大括号。永远不要使用您不知道其确切作用的正则表达式。您的新要求需要通过更多步骤来完成。是否要进行替换?我计划使用它突出显示参数块内[…]之间的所有类型。请尝试
(?m)(?谢谢,我已经按照我的全部要求修改了:
(?<=Param\([^()]*)\[\w+](?=[^()]*\))