約束搜索

很多時候,在得到搜索結果之後,我們需要更深入地搜索現有搜索結果的一部分。 例如,在給定的文本主體中,我們的目標是獲取Web地址,並提取Web地址的不同部分,如協議,域名等。在這種情況下,需要藉助用於劃分的組功能 搜索結果以各個組爲基礎,分配正則表達式。 我們通過使用可搜索部分周圍的括號分隔主搜索結果來創建這樣的組表達式,不包括想要匹配的固定單詞。

import re
text = "The web address is https://www.yiibai.com"

# Taking "://" and "." to separate the groups 
result = re.search('([\w.-]+)://([\w.-]+)\.([\w.-]+)', text)
if result :
    print "The main web Address: ",result.group()
    print "The protocol: ",result.group(1)
    print "The doman name: ",result.group(2) 
    print "The TLD: ",result.group(3)

執行上面的示例代碼,得到以下結果 -

The main web Address:  https://www.yiibai.com
The protocol:  https
The doman name:  www.yiibai
The TLD:  com