2010-08-13 10 views
9

Belirli bir sözcük değil, geçerli URL karakterleri dizisi içeren bir URL ile eşleştirmek istiyorum. ve söz http://gateway.ovid.com URL kelimesine bu kadar 'geçidi' başka bir şey eşleştirmek istiyorum: eşleşir Regex - URL'de belirli bir kelime dışındaki herhangi bir karakter dizisi ile eşleşir

  • http://fdfsffdfs.ovid.com - - -
  • http://abc.123.ovid.com eşleşir -
  • http://abc-123.ovid.com eşleşir

    ama

    şey olacaktır:

    ^http://([a-z0-9\-\.]+|(?<!gateway))\.ovid\.com$ 
    

    ama işe görünmüyor.


    Güncelleme: Maalesef dili demeyi unuttun o C# .NET var

  • cevap

    12

    Sizin düzenli ifade gibi bir şey ekstra '|' dışında neredeyse doğru '+' dan sonra. '|' Öğesini kaldırın

    ^http://([a-z0-9\-\.]+(?<!gateway))\.ovid\.com$ 
    
    +0

    Awesome! Bu mükemmel çalışıyor. Ben de düşündüğüm her kombinasyonu deniyordum. –

    -2
    Sen konak dili belirtmedi

    , ama neden bu psuedocode

    bool good = Regex.Match(yourRegex) and not Regex.Match(gateway) 
    
    İlgili konular