我试过这段代码:
$ docker volume create foo
$ docker volume inspect foo
[
{
"CreatedAt": "2018-02-18T12:10:51-05:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/home/var-docker/volumes/foo/_data",
"Name": "foo",
"Options": {},
"Scope": "local"
}
]
结果:
contents = 'alokm.014@gmail.yahoo.com.....thankyou'
match = re.findall(r'[\w\.-]+@[\w\.-]+', contents)
print match
我想从我的电子邮件中删除alokm.014@gmail.yahoo.com.....thankyou
是否有可能只获得....thankyou
还有一件事,内容列表更大,所以我想要一些改变
alok.014@gmail.yahoo.com
如果可能的话。
答案 0 :(得分:2)
我不了解python,但像Java这样的语言库有帮助验证URL和电子邮件地址的库。 或者,您可以使用经过严格审查的正则表达式。
我的建议是继续根据点删除字符串的结尾,直到字符串验证为止。因此,测试字符串,如果它没有验证为电子邮件,请从右侧读取字符串,直到遇到句号,然后将句点和所有内容放在右边,然后重新开始。
所以你要像这样循环
alokm.014@gmail.yahoo.com.....thankyou
alokm.014@gmail.yahoo.com....
alokm.014@gmail.yahoo.com...
alokm.014@gmail.yahoo.com..
alokm.014@gmail.yahoo.com.
alokm.014@gmail.yahoo.com
此时它将验证为真实的电子邮件地址。是的,它很慢。是的,它可以被欺骗。但它基于给出的小信息(可能的字符串)大部分时间都可以工作。
答案 1 :(得分:1)
有趣的问题!而且,这是一个Python Regex
程序,可帮助从contents
提取电子邮件:
import re
contents = 'alokm.014@gmail.yahoo.com.....thankyou'
emailRegex = re.compile(r'''
[a-zA-Z0-9.]+ # username
@ # @ symbol
[a-zA-Z0-9.]+\.com # domain
''', re.VERBOSE) # re.VERBOSE helps make Regex multi-line with comments for better readability
extractEmail = emailRegex.findall(contents)
print(extractEmail)
输出将是:
['alokm.014@gmail.yahoo.com']
我现在建议您参考此Regex-HowTo doc,以了解该程序中发生的情况,并提出一个更好的版本,可以从较大的文本中提取所有电子邮件。