2014-10-13 4 views
-2

python에서 regex를 사용하여 문장에서 확장자 "COM"을 찾고 싶습니다.문자열에서 도메인의 정규 확장자 찾기 Python Regex

>>> import re 
>>> str = 'finding exstention from string on http://domain.coms/index/page/2' 
>>> pattern = re.compile(r'([^\s.\s\:]+\.[^\.\s\:]*)') 
>>> 

결과 :

domain : 'domain.com' ### notes: not domain.coms 
url : 'http://domain.coms/index/page/2' 
+2

예상되는 결과는 무엇입니까? – aelor

+0

문자열 결과, 죄송합니다 그것에 대해 약간의 정보를 제공하는 것을 잊었습니다. – Tarjo

+0

@Tarjo 당신은'url'에서'domain'을 추출해야한다는 것을 의미합니까 ?? – nu11p01n73R

답변

0

당신이 찾고있는 될 수있다 :

>>> import re 
>>> str = 'finding exstention from string on http://domain.coms/index/page/2' 
>>> pattern = re.compile(r'([^\/]*\.(?:com|en|org))') 
>>> m = pattern.search(str) 
>>> print m.group(1) 
domain.com 
+0

이 결과는 OP가 원래 얻은 것과 어떻게 다른가요? –

+0

@BurhanKhalid OP가 결과를 얻었거나 여전히 그걸 찾았 으면 – aelor

+0

감사합니다. @aelor,하지만 다음과 같이 많은 익스텐트를 사용하고 싶습니다. '.com, .en, .org,' – Tarjo

0
((?:https?:\/\/)?(?:([^\s.\s\:]+\.[^\/]*)(?:\/|$)[^\.\s\:]*)) 

이보십시오. Group 1url이됩니다. Group 2domain입니다.

데모보기

http://regex101.com/r/sK8oK9/1

0

당신은 아래에 시도 할 수 있습니다.

>>> s = "finding exstention from string on http://domain.coms/index/page/2" 
>>> m = re.search(r'(\S+?([^/.]+\.[^/]+)\S+)', s).group(1) 
>>> m 
'http://domain.coms/index/page/2' 
>>> m = re.search(r'(\S+?([^/.]+\.[^/]+)\S+)', s).group(2) 
>>> m 
'domain.coms'