2010-01-10 15 views
7

Regex ifadeleri için çok üzgünüm, bu gerçekten çok önemli bir soru ise.Regex ifadesinin C# içindeki tüm dizeyle eşleşip eşleşmediğini nasıl kontrol edebilirim?

Regex ifadem var ... Yapmak istediğim, dizenin tüm alt kümeleriyle eşleşen regex ifadesi olmadan bir dizenin normal ifadeyle eşleşip eşleşmediğini kontrol etmektir. Örneğin

...

benim regex ifadesi \ s A \ s * bir maç için arıyorsa, o karşılaştırarak dize "A" eğer bir maç dönmek fakat gerekir "AB" dizesiyle karşılaştırırsa, bir eşleşme döndürmemelidir.

Herhangi bir yardım için teşekkür ederiz? C# kodlarım.

+1

http://regexpal.com/ adresinden çevrimiçi bir regex test cihazını deneyebilirsiniz. En basit C# regex modeli, test edilmek için uygun olmalıdır. –

cevap

16

Normalde başlangıç ​​bitiş ucu respecitvely ^ ve $ çapa kullanır:

akılda
^\s*A*\s*$ 

tutun regex motoru çok satırlı sizi destekliyorsa ki, bu da sürece birden fazla satıra yayılan dizeleri yakalamak olabilir Bu satırlardan biri regex ile eşleştiği için (^, herhangi bir yeni satır veya dize başlangıcından sonra ve $ herhangi bir yeni satır veya dize bitmeden önce anchors). Normal ifadeyi tek bir satırda çalıştırıyorsanız, bu sorun olmaz. Bir çok satırlı girişi sadece desen oluşan tek bir satır olmasını sağlamak istiyorsanız

, sen \A ve desteklenen \Z eğer kullanabilirsiniz - bunlar başlangıç ​​ve bağımsız yenisatırlar ait dize sonu demek.

+0

Teşekkürler .. o buydu. –

İlgili konular