检测python字符串中的字母数字/数字值

问题描述

我正在尝试从文本中提取长度大于 8 的数字/字母数字字符的标记/部分标记。

示例:

text = 'https://stackoverflow.com/questions/59800512/ 510557XXXXXX2302 Normal words 1601371803 NhLw6NlR0EksRWkLddEo7NiEvrg https://www.google.com/search?q=some+google+search&oq=some+google+search&aqs=chrome..69i57j0i22i30l8j0i390.4672j0j7&sourceid=chrome&ie=UTF-8'

预期的输出是:

59800512 510557XXXXXX2302 1601371803 NhLw6NlR0EksRWkLddEo7NiEvrg 69i57j0i22i30l8j0i390 4672j0j7

我尝试使用正则表达式:((\d+)|([A-Za-z]+\d)[\dA-Za-z]*) 基于答案 Python Alphanumeric Regex。我得到了以下结果:

[match for match in re.findall(r"((\d+)|([A-Za-z]+\d)[\dA-Za-z]*)",text)] 

Output :
[('59800512','59800512',''),('510557','510557',('XXXXXX2302','','XXXXXX2'),('1601371803','1601371803',('NhLw6NlR0EksRWkLddEo7NiEvrg','NhLw6'),('69','69',('i57j0i22i30l8j0i390','i5'),('4672','4672',('j0j7','j0'),('8','8','')]

对于每个匹配的标记,我都会得到一个匹配组的元组。

可以再次过滤这些元组。但我正在努力使代码尽可能高效和 Pythonic。

有人可以提出解决方案吗?它不需要基于正则表达式。

提前致谢

编辑: 我期望长度等于或大于 8 的字母数字值

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)