Search for non-zero positive integers in a string using regex (python re)
我尝试运行此代码,从Python中的字符串中提取非零正整数:
1 2 3 4 5 6 7 | #python code import re positive_patron = re.compile('[0-9]*\.?[0-9]+') string = '''esto si esta en level 0 y extension txt LEVEL0.TXT 2 4 5 6 -12 -43 1 -54s esto si esta en 1 pero es txt 69 con extension txt y profunidad 2''' print positive_patron.findall(string) |
这就产生了输出
但是,我不想匹配0或负数,我希望输出为
有人能告诉我如何做到这一点吗?
使用单词boundary转义序列
1 | positive_patron = re.compile(r'\b(?<!-)\d*\.?\d+\b') |
演示
要跳过
1 2 | numbers = positive_patron.findall(string) numbers = [int(x) for x in numbers if x != '0'] |
号