2010-08-13 27 views
9

Tôi muốn đối sánh URL chứa bất kỳ chuỗi ký tự URL hợp lệ nào nhưng không phải là một từ cụ thể. URL trong câu hỏi http://gateway.ovid.com và tôi muốn để phù hợp với bất cứ điều gì nhưng từ 'cửa ngõ' vậy:Regex - Đối sánh bất kỳ chuỗi ký tự nào ngoại trừ một từ cụ thể trong URL

nhưng

Something như sau:

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

nhưng nó dường như không làm việc.


Cập nhật: Xin lỗi quên đề cập đến ngôn ngữ, đó là C# .NET

Trả lời

12

regex của bạn gần như chính xác, ngoại trừ phần phụ '|' sau '+'. Xóa '|'

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

Tuyệt vời! Điều đó hoạt động hoàn hảo. Tôi đã thử mọi sự kết hợp mà tôi có thể nghĩ đến. –

-2

Bạn không nói rõ ngôn ngữ sở tại, nhưng tại sao không phải cái gì như psuedocode này

bool good = Regex.Match(yourRegex) and not Regex.Match(gateway) 
Các vấn đề liên quan