can anybody tell me how to find alphanumeric in a string using regex in python the string would be "123 Akshay 123 1A1 123" i want only 1A1

时间:2017-08-05 11:22:13

标签: python

import re
S = "123 1331A1 Keshav 111a "
a = re.search("\w*[^ ]\d[^ ]*\w*[^ ]*", S).group()
print(a)

Output was 123, but expected 1331A1 111a

2 个答案:

答案 0 :(得分:0)

如果没有必要使用正则表达式,你也可以这样做:

words = S.split()
alnumWords = filter(lambda s: isalnum(s), words)

这使用filter()函数,它选择满足谓词函数的列表元素。

答案 1 :(得分:0)

使用re模块可以执行以下操作:

import re
a = "123 1331A1 Keshav 111a "
output = re.findall(r'(\d+[a-zA-Z]\d?)', a)
print(output)

输出:

['1331A1', '111a']