gpt4 book ai didi

c# - 简单的正则表达式问题/多个匹配项

转载 作者:行者123 更新时间:2023-11-30 14:17:52 25 4
gpt4 key购买 nike

新手正则表达式问题/C#:

考虑 (.*)=(.*) 以及它如何匹配“A = B = C”

我期望得到两个匹配对象,因为有两种分组和匹配的方法:

(A = B) = (C)   

or

(A) = (B = C)

但是我只得到一个匹配对象(第一种情况)。所以我想我不明白为什么匹配集合是一个集合——因为我似乎无法将多个项目放入其中。谁能解释一下?


fyi - 对于上面的测试我只是使用了immed窗口:

?Regex.Matches("A = B = C", "(.*)=(.*)").Count
1

?Regex.Matches("A = B = C", "(.*)=(.*)")[0].Groups[1].Captures[0]
Value: "A = B"

?Regex.Matches("A = B = C", "(.*)=(.*)")[0].Groups[1].Captures[1]
Value: "C"

最佳答案

Matches 返回的集合包含连续匹配项,而不是字符串同一部分的替代匹配项。因此,如果您传入一个字符串,如“A = B\nC = D”,您将返回两个匹配项:一个用于“A = B”,一个用于“C = D”(如 . 不匹配换行符)。

关于c# - 简单的正则表达式问题/多个匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5380404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com