2017-08-15 49 views
6

şey içermeyecek şekilde. Tamam, çünkü kolayca bir arama yapabilir ve değiştirebilirim. Sadece ifadede bunu dahil etmenin bir yolu olup olmadığını merak ediyordum?Yolu Verilen normal ifade yakalama grubundaki

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

m.Groups[1].Value Eğer yakalama grubu 1. değeri elde sağlar:

+0

Eğer 'deneyin "<(.*?)>"' ve 'grup adı' alınamadı mı? –

cevap

4

Bir yakalama grubunu kullanmak gerekir.

Ve daha iyi, daha verimli regex <([^>]*)> olabilir (daha sonra, < eşleşir ve herhangi Grup 1'e > dışındaki sıfır veya daha fazla karakter yakalar ve sonra sadece > maçları). Bkz regex demo:

enter image description here