簡體   English   中英

C#正則表達式僅捕獲整個表達式,而不捕獲單個捕獲組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM