2013-03-20 4 views
11

Tôi muốn xác thực url bắt đầu bằng http/https/www/ftp và kiểm tra /\ dấu gạch chéo và kiểm tra .com, .org v.v. ở cuối URL bằng cách sử dụng cụm từ thông dụng. Có bất kỳ regex patttern để xác nhận URL?Làm cách nào để xác thực URL trong java bằng regex?

+1

Tại sao không chỉ cố gắng thiết lập một [ 'URL'] (http://docs.oracle.com/javase/7/docs/api/java/net/URL. html) và kết nối với nó? Kiểm tra tốt nhất bao giờ hết. –

+4

Sao chép? [http://stackoverflow.com/questions/161738/what-is-the-best-regular-expression-to-check-if-a-string-is-a-valid-url](http://stackoverflow. com/questions/161738/what-is-the-best-regular-expression-to-check-if-a-string-là-một-hợp lệ-url) – Alpay

+1

Tham khảo liên kết này: [Regular expresion to match URL trong Java] [1] Hy vọng nó sẽ giúp bạn. [1]: http://stackoverflow.com/questions/163360/regular-expresion-to-match-urls-in-java –

Trả lời

14

này hoạt động:

Pattern p = Pattern.compile("(@)?(href=')?(HREF=')?(HREF=\")?(href=\")?(http://)?[a-zA-Z_0-9\\-]+(\\.\\w[a-zA-Z_0-9\\-]+)+(/[#&\\n\\-=?\\+\\%/\\.\\w]+)?"); 

    Matcher m = p.matcher("your url here"); 
8

Tôi sử dụng đoạn mã sau cho rằng

String lRegex = "^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"; 

btw tìm kiếm trong google và bạn sẽ tìm ra giải pháp của chính mình.

+3

nó không kiểm tra www nếu tôi viết www.abc.com – psisodia

+2

psisodia: "www" là không cần thiết trong địa chỉ URL – Honza

+0

@Stefan Beike: Nó sẽ kiểm tra địa chỉ '192.168.67.90/mysite/page1.html'? –