[英]C# regex capturing only the whole expression and not the individual capture groups
我有這個正則表達式來捕獲類型名稱-首先是類型名稱,然后是通用參數列表,最后是程序集名稱:
(.*?)\[\[(.*?)\]\], (.*)
當我對這樣的字符串(類型的完全限定名稱的簡化版本)運行它時:
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
另外,看起來您應該使參數通配符貪婪,以便它不會出現在內括號上:
(?<type>.*?)\[\[(?<parameters>.*)\]\], (?<assembly>.*)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.