Python:从字符串中过滤正整数和负整数
问题内容:
Python 3:给定一个字符串(一个方程式),返回一个正负整数列表。我尝试了各种正则表达式和列表理解解决方案,但无济于事。
给定方程式4 + 3x或-5 + 2y或-7y-2x返回:[4,3],[-5,2],[-7,-2]
输入
str = '-7y-2x'
输出
my_list = [-7, -2]
问题答案:
使用 re.findall
函数的简单解决方案:
import re
s = '-5+2y'
result = [int(d) for d in re.findall(r'-?\d+', s)]
print(result)
输出:
[-5, 2]
-?\d+
-匹配 正负整数
原始字符串符号(
r"text"
)使正则表达式保持理智。没有它,\
正则表达式中的每个反斜杠(’ ‘)都必须以另一个反斜杠为前缀来转义它