C# programımda her sayfanın kaynağını alıp regex ile URL'leri alıp çalıştıran bir Google Arama İşlevi yazdım.URL C için Normal İfade #
Benim asıl Regex geçerli:
(?:(?:(?:http)://)(?:w{3}\\.)?(?:[a-zA-Z0-9/;\\?&=:\\-_\\$\\+!\\*'\\(\\|\\\\~\\[\\]#%\\.])+)
Bu anda iyi çalışır, ancak ben sadece en ?efdf=332
olmadan bu durumda URL almak istiyorum http://www.example.com/forums/arcade.php?efdf=332
gibi örnek URL'ler için olsun son.
Normal ifadeyi nasıl değiştirmeliyim?
Merhaba Omegavirus, Yığın Taşması'na hoş geldiniz. Normal ifadenizi doğru bir şekilde biçimlendirmek için çok fazla sorun yaşadığınızı fark ettim, ancak çok daha kolay olabilirdi. Sadece orijinal normal ifadeyi yapıştırın, işaretleyin ve Ctrl-K tuşlarına basın. Bu, metni usta metin olarak biçimlendirir (HTML 'pre' etiketi gibi). Hatalar için çok daha az potansiyel. –
oh bunu bilmedim, teşekkürler;) ve regex benim C# programımdan çıktı, böylece \ 'kaçtı. Bunu söylemeyi unuttum. – Omegavirus
C# 'da, sözdizimi dizelerini ('@" foo "') normal ifadelerle kullanın. O zaman ters eğrilerinden kaçmak zorunda değilsin. Aksi halde delirirsin. Regex zaten okumak için yeterince zor ... –