2014-10-13 46 views
-2

我想從Python中使用正則表達式找到一個擴展名「COM」。找到一個字符串python正則域擴展正則表達式

>>> 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 1將是urlGroup 2將是domain

查看演示。

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' 
相關問題