SORU
7 Kasım 2008, Cuma


Numaraları için düzenli ifade sadece

Hiç düzenli ifadeler kullanmadım, sorun giderme zorluk yaşıyorum. İstediğim düzenli maç sadece zaman alan string tüm numaraları; ama iki örnek aşağıda eşleşen bir dize içeren tüm numaraları artı bir eşittir işareti gibi "1234=4321". Bu davranışı değiştirmek için bir yolu vardır eminim, ama dediğim gibi, pek düzenli ifadeler ile yaptım.

string compare = "1234=4321";
Regex regex = new Regex(@"[\d]");

if (regex.IsMatch(compare))
{ 
    //true
}

regex = new Regex("[0-9]");

if (regex.IsMatch(compare))
{ 
    //true
}

Bu konularda durumda, C kullanıyorum# ve .NET 2.0.

CEVAP
7 Kasım 2008, Cuma


Başından kullanın ve çapalar sonunda.

Regex regex = new Regex(@"^\d$");

Eğer birden fazla basamak maç gerekiyorsa "^\d $" kullanın.


"\d" [0-9] maç olacak ve Doğu Arapça gibi diğer basamak karakterleri ٠١٢٣٤٥٦٧٨٩ rakamları unutmayın. "^[0-9] $" sadece Arapça rakamları eşleşen 0 - 9 sınırlamak için.


Herhangi bir sayısal temsilleri sadece rakam (yeni başlayanlar için ondalık değerleri gibi), @tchristbakın kapsamına alınması gerekir'10 *s*.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Damien Walters

    Damien Walte

    20 AĞUSTOS 2006
  • Rugiagialia

    Rugiagialia

    1 Ocak 2008
  • The Scary Snowman

    The Scary Sn

    1 ŞUBAT 2011