我是新手Python程序员,遇到了一个问题。我的输入文件包含以下数据:
12345 67890 afghe
abcde 23456 0abcd
34567 __fred01 45678
123.456 12345a 123.
.456 ab00cd 00ab00
使用正则表达式需要解析每个字面量并分类,确定该字面量是字符串、整数还是浮点数。 代码片段如下:
def processtoken(token):
#Replace the following line with your code to classify
# the string in 'token' according to your three Regular
# Expressions and print the appropriate message.
print('Inside Process Token')
match = re.search(r'(0|[1-9][0-9]*|0[oO]?[0-7]+|0[xX][0-9a-fA-F]+|0[bB][01]+)[lL]?', token)
matchfp = re.search(r'^[0-9]+\.?[0-9]+$',token)
if match:
print(match.group(),'matches INT')
elif matchfp:
print(matchfp.group(),'matches FP')
我的问题是如何构建代码以验证每个传递的标记的多个正则表达式条件。目前,如果该条件未经验证,则浮点数将不符合条件。我想检查标记,首先是整数正则表达式是否匹配,如果匹配或者它匹配浮点数正则表达式或字符串正则表达式。
任何帮助都将不胜感激。