簡體   English   中英

在正則表達式捕獲組中不包含某些內容的方法

[英]Way to not include something in regex capture group

鑒於:

var input = "test <123>";

Regex.Matches(input, "<.*?>");

結果:

<123>

給我我想要的結果,但包括尖括號。 哪個好,因為我可以輕松地進行搜索和替換。 我只是想知道是否有辦法在表達式中包含它?

您需要使用捕獲組

var input = "test <123>";
var results = Regex.Matches(input, "<(.*?)>")
    .Cast<Match>()
    .Select(m => m.Groups[1].Value)
    .ToList();

m.Groups[1].Value允許您獲取捕獲組#1值。

更好,更有效的正則表達式可以是<([^>]*)> (它匹配< ,然后匹配並捕獲到組1除了>之外的任何零個或多個字符,然后只匹配> )。 看看正則表達式演示

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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