Python 我从给定字符串中查找电子邮件,并返回字符串中存在的电子邮件
我的要求是- 名称:名称是小于或等于的字母数字字符串 等于12个字符。允许使用其他字符 破折号(-)、句点(.)和下划线(389;)。但是电子邮件 不能以这些附加字符开头或结尾。 名称的长度也必须至少为1个字符。 示例名称值: a, ab, a_b, A__B..C--D, 1nt3r3st.1ng 域:域严格为数字,且数字必须为 可被5整除的。域的长度不受限制。 域值示例: 984125, 0 结尾:电子邮件必须以(.com)或(.ca)结尾(区分大小写) Exmaple:Python 我从给定字符串中查找电子邮件,并返回字符串中存在的电子邮件,python,regex,regex-lookarounds,regex-group,Python,Regex,Regex Lookarounds,Regex Group,我的要求是- 名称:名称是小于或等于的字母数字字符串 等于12个字符。允许使用其他字符 破折号(-)、句点(.)和下划线(389;)。但是电子邮件 不能以这些附加字符开头或结尾。 名称的长度也必须至少为1个字符。 示例名称值: a, ab, a_b, A__B..C--D, 1nt3r3st.1ng 域:域严格为数字,且数字必须为 可被5整除的。域的长度不受限制。 域值示例: 984125, 0 结尾:电子邮件必须以(.com)或(.ca)结尾(区分大小写) Exmaple: find_spec
find_special_email('12345a_test_email@165265365.com!')
'a_test_email@165265365.com'
import re
def find_special_email(str):
match = re.search(r'[a-zA-Z0-9_\.-]{1,12}@[0-9]+\.(com|ca)(\.[a-z]{2,3})?', str)
return match.group(0)
print(find_special_email('12345a_test_email@165265365.com!'))
print(find_special_email('A__B..C--D@165265365.com!'))
我尝试过的:
find_special_email('12345a_test_email@165265365.com!')
'a_test_email@165265365.com'
import re
def find_special_email(str):
match = re.search(r'[a-zA-Z0-9_\.-]{1,12}@[0-9]+\.(com|ca)(\.[a-z]{2,3})?', str)
return match.group(0)
print(find_special_email('12345a_test_email@165265365.com!'))
print(find_special_email('A__B..C--D@165265365.com!'))
我的问题:
find_special_email('12345a_test_email@165265365.com!')
'a_test_email@165265365.com'
import re
def find_special_email(str):
match = re.search(r'[a-zA-Z0-9_\.-]{1,12}@[0-9]+\.(com|ca)(\.[a-z]{2,3})?', str)
return match.group(0)
print(find_special_email('12345a_test_email@165265365.com!'))
print(find_special_email('A__B..C--D@165265365.com!'))
[a-zA-Z0-9](?:[a-zA-Z0-9.-]{0,10}[a-zA-Z0-9])?@[0-9]*[05]+.(?:com | ca)(?:\[a-z]{2,3})
所做的更改:
find_special_email('12345a_test_email@165265365.com!')
'a_test_email@165265365.com'
import re
def find_special_email(str):
match = re.search(r'[a-zA-Z0-9_\.-]{1,12}@[0-9]+\.(com|ca)(\.[a-z]{2,3})?', str)
return match.group(0)
print(find_special_email('12345a_test_email@165265365.com!'))
print(find_special_email('A__B..C--D@165265365.com!'))
[a-zA-Z0-9]
,以便电子邮件以有效字符开头[0-9]*[05]+
-它确保域可以包含多个数字,但应该以0或5结尾Regex不太适合数字,但这个特殊的数字要求可以用“以0或5结尾”来表达。根据定义,域名不区分大小写。你的“exmaple”很奇怪。为什么要提取部分地址?