c# - C# 正则表达式仅捕获整个表达式而不是单个捕获组
问题描述
我有这个正则表达式来捕获类型名称 - 首先是类型名称,然后是泛型参数列表,最后是程序集名称:
(.*?)\[\[(.*?)\]\], (.*)
当我对这样的字符串(类型的完全限定名称的简化版本)运行它时:
System.Collections.Generic.List`1[[FrEee.Modding.Formula`1[[System.String, mscorlib]], FrEee.Core]], mscorlib
我在整个字符串上只得到一个匹配:
为什么我定义的三个捕获组与字符串的各个部分不匹配?
解决方案
我正在使用此代码来访问捕获:
match.Captures[1].Value
当我应该使用时:
match.Groups[1].Captures[0].Value
推荐阅读
- django - BLEACH_DEFAULT_WIDGET Django
- reactjs - Styled Components 基于 props 渲染 Styled 标签
- google-apps-script - 用于数组的 Google 表格自定义函数
- javascript - JavaScript 和 NodeJS 中的 Promise
- django - nginx 配置错误:尝试打开启用站点的文件中不存在的文件
- r - 如何用 xreg 编写滚动预测,但在 R 中不重新估计?
- sql - 如何摆脱没有电子邮件的空行?
- javascript - Cheerio 有时会返回空字符串
- c# - NullReferenceException:对象引用未设置为对象的实例。通过 Unity 教程
- google-apps-script - 循环浏览多个谷歌表格的多个标签