regex 正则表达式不提取标记

atmip9wb  于 2023-03-24  发布在  其他
关注(0)|答案(1)|浏览(123)

我尝试使用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

zbsbpyhn

zbsbpyhn1#

我想你的意思是使用findall而不是match

相关问题