python怎么提取小写字母+数字(小写字母+数字共32个字符,先后顺序不限)
a57a50b2109fe5e840a928a2bb3108ac
3bef626a441387e5e17adc2e8a1275bf
import re
def fu(url):
r = re.findall(r'\w{32}',url)
return "没找到" if len(r)==0 else r[0]
print(fu('https://file.ertuba.com/2021/0125/a57a50b2109fe5e840a928a2bb3108ac.jpg'))
print(fu('https://file.ertuba.com/2021/0125/3bef626a441387e5e17adc2e8a1275bf.jpg'))
#\d 匹配一个数字字符。等价于 [0-9]
#\D 匹配一个非数字字符。等价于 [^0-9]
#提取汉字
import re
string = "hello,world!!%[545]你好234asd完全额。。。"
str = re.sub("[A-Za-z0-9\!\%\[\]\,\。]", "", string)
print(str)
#从字符串中提取数字
totalCount = '100abcdef'
totalCount = re.sub("\D", "", totalCount)
print(totalCount)
#提取字母字符串
import re
string = "hello,world!!%[545]爱迪生234世界。。。"
result = ''.join(re.findall(r'[A-Za-z]', string))
print(result)
用string库很容易解决。
strings = ['a57a50b2109fe5e840a928a2bb3108ac','3bef626a441387e5e17adc2e8a1275bf']
from string import ascii_lowercase,digits
for s in strings:
alphas = ''.join([x for x in s if x in ascii_lowercase])
digits = ''.join([x for x in s if x in digits])
print(f"alphas: {alphas},digits: {digits}")
如果要从html代码中提取
import re
def fu(url):
r = re.findall(r'\w{32}',url)
return r
html = '''
<a href="https://file.ertuba.com/2021/0125/a57a50b2109fe5e840a928a2bb3108ac.jpg" title="" target="_blank">111111</a>
<a href="https://file.ertuba.com/2021/0125/3bef626a441387e5e17adc2e8a1275bf.jpg" title="" target="_blank">222222</a>
'''
print(fu(html))
Zifuchuan = "lxa7YzU"
Digit = "" ; Lower = "" ; Upper = ""
for i in Zifuchuan :
if i.isdigit() :
Digit += i
elif i.islower() :
Lower += i
elif i.isupper() :
Upper += i
else :
pass
print """
digit:{}
lower:{}
upper:{}
""".format(Digit,Lower,Upper)
string="3bef626a441387e5e17adc2e8a1275bf";
outstring=""
for i in string:
if i.islower():
outstring+=i
else:
pass
for i in string:
if i.isdigit():
outstring+=i
else:
pass
print """
outstring:{}
""".format(outstring)