让我们想象一下我有一些正则表达式:
(a)|(b)|(c)
如何识别已触发的匹配?是否有某种匹配指数?
我可以检查 null 的所有组,或者将全局值字段与组值字段进行比较,或将模式分成多个并通过行检查“ if ”,但它有点蹩脚,并提供额外的复杂性。正则表达式没有一些有限的状态值吗?
答案 0 :(得分:3)
当然可以这样做:
match.Groups[1].Success // true or false
match.Groups[2].Success // true or false
match.Groups[3].Success // true or false
您还可以为群组命名,以便更轻松地遵循:
(?<foo>a)|(?<bar>b)|(?<baz>c)
match.Groups["foo"].Success // true or false
match.Groups["bar"].Success // true or false
match.Groups["baz"].Success // true or false