我尝试使用python内置的re模块从输入中提取标记,但它没有产生预期的结果。
import re
def main():
rules = {
'number' : r"(?P<int>\d+)",
'Test' : r"(^((P=int)\s?)*$)"
}
lex = ''
for rule in rules:
lex += rules[rule]
p = re.compile(lex)
x = p.match("12 34 56 + - * / %")
if x:
print(x)
elif type(x) == list:
print('returned empty list')
else:
print("No matches")
if __name__ == '__main__':
main()
这样做的预期结果是['12', '34', '56']
,但它输出的是no matches
1条答案
按热度按时间zbsbpyhn1#
我想你的意思是使用
findall
而不是match
。