2011-03-30 4 views
0

가능한 복제를 URL을 찾을 수 있습니다 :
What is the best regular expression to check if a string is a valid URL정규 표현식은 문자열에

나는 그런 문자열에서 http://www.google.com 또는 http://mail.yahoo.com.uk 같은 URL을 찾고 싶어요. 이것을 달성하는 가장 좋은 방법은 무엇입니까?

+1

부분 문자열 검색 또는 유효성 검사 질문입니까? –

+1

당신은 거의 모든 것이 유효한 URL이라는 것을 알고 있습니까? 구문은 매우 유연합니다. http://tools.ietf.org/html/rfc3986. 경로는 일 수 있지만 스키마와 경로 구성 요소는 필수입니다. 따라서'ftp :'는 유효한 URL입니다. –

답변

1
>>> text = """I want to find url this "http://www.google.com" or "http://mail.yahoo.com.uk" from a string. 

I tried different exprs but no one correct. Could anyone help me? Thanks 
""" 
>>> import re 
>>> re.search('(http://www\\.google\\.com)', text) 
<_sre.SRE_Match object at 0x02183060> 
>>> _.groups() 
('http://www.google.com',) 
>>> re.search('(http://mail\\.yahoo\\.com\\.uk)', text) 
<_sre.SRE_Match object at 0x021830A0> 
>>> _.groups() 
('http://mail.yahoo.com.uk',) 
>>> re.findall('(http://[^"\' ]+)', text) 
['http://www.google.com"', 'http://mail.yahoo.com.uk"'] 

마지막 예제는 매우 단순하므로 실제 사용해서는 안됩니다. 원하는 경우 Google에서 URL에 대한 정규 표현식을 사용할 수 있습니다.