我有一系列形式的電子郵件[email protected]。
我想使用正則運算式獲取名字、姓氏和域。
我可以設法獲得域,如下所示:
domain = re.search('@. ', email).group()
但我遇到了名字和姓氏的問題。
拜托,你能解釋一下我該怎么做嗎?
uj5u.com熱心網友回復:
您需要在正則運算式中使用括號,以便訪問匹配的子字串。請注意,下面的正則運算式中有三個括號,分別用于匹配名字、姓氏和域。
m = re.match(r'(.*)\.(.*)@(.*)', email)
assert m is not None
firstname = m.group(1)
lastname = m.group(2)
domain = m.group(3)
還有兩個注意事項:
- 您需要使用反斜杠轉義分隔名字和姓氏的點。
r在正則運算式字串中使用前綴很方便,避免重復反斜杠字符。
uj5u.com熱心網友回復:
v = "[email protected]"
pattern = re.compile(r"(.*)\.(.*)@([a-z] )\.[a-z] ")
pattern.findall(v)
pattern.findall(v)
Out[7]: [('firstname', 'lastname', 'gmail')]
輸出將是一個由名字、姓氏和域組成的元組。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/435760.html
下一篇:Python奇數和偶數
