Kısmi yokluk kelimesi ile allstrings nasıl alınır

Örnek dizeleri izledim, Normal İfade, yani Regex in .Net kullanarak Label ile bitmeyen tüm dizeleri almak istiyorum.

ID="FirstNameLabel"
ID="FirstNameTextBox"
ID="LastNameLabel"
ID="LastNameTextBox"
ID="CountryLabel"
ID="CountryDropDownList"

Temel olarak sonucun olmasını istiyorum

ID="FirstNameTextBox"
ID="LastNameTextBox"
ID="CountryDropDownList"

Kim bilir biliyor mu?

İşaretçileri İşaretlemek için

Düzenli ifaden bir şey alamıyorum

1
Aslında ID \ = ". *? TextBox" ve ID \ = ". *? DropDownList" gibi olmak istiyorum
katma yazar Jerry Liang, kaynak
Merhaba Mark Byers, Lütfen ekrandan güncellemeye bakın. Herhangi bir kaynak kodum yok. Sadece test etmek için düzenli ifade kullanıyorum.
katma yazar Jerry Liang, kaynak
Bunu yapıyorum, çünkü çok sayıda asp.net sayfa alanı ayrıştırmam gerekiyor. Adlandırma kuralı, Etiket ile biten bir şeydir, sadece görüntüleme içindir. Yani tüm ihtiyacım olan etiket, Extender, RequiredValidator vb.
katma yazar Jerry Liang, kaynak
FirstNameLabel veya ID = "FirstNameLabel" dizesinin değeri mi? Dizeler listede mi?
katma yazar Mark Byers, kaynak
Normal ifade motorunu çağırmak için kullandığınız kodu gönderir misiniz? Senin hatan orada olabilir.
katma yazar Mark Byers, kaynak

2 cevap

En basit olanı EndsWith 'i kullanmaktır.

!s.EndsWith("Label\"")

Regex'i gerçekten kullanmak istiyorsanız, bir lookbehind kullanın.

"(?
2
katma
"(?
katma yazar Jerry Liang, kaynak
@ rerun'un cevabı işe yararsa, bu cevaptaki ifade muhtemelen (? NOT (?
katma yazar Code Jockey, kaynak
lines.where((x)=> !x.EndsWith("Label")); 

Regex'in olması gerekiyorsa

lines.where((x)=> !Regex.Match(x,"Label$").Success); 
0
katma
Bu işe yarayacak ama düzenli ifadeye ihtiyacım var
katma yazar Jerry Liang, kaynak