Skip to main content
 首页 » 编程设计

带有 re.split() 的 python 正则表达式

2024年10月24日39findumars

我有这个字符串方程:

400-IF(3>5,5,5)+34+IF(4>5,5,6) 

我想用字符串'IF(3>5,5,5)', 表示'IF()' 语法,所以这里我用了两个if语法。

所以 re.split() 应该给出长度为 2 的列表 ['400-', '+34+']

我制作了 re 并按如下方式使用。

re.split('IF[\(][0-9,a-z,A-Z,\$]*[\>|\<|=|/|%|*|^]?(.*)+[\,][0-9,a-z,A-Z,\$]*[\,][0-9,a-z,A-Z,\$]+[\)]', '400-IF(3>5,5,5)+34+IF(4>5,5,6) 
') 

但它没有返回正确的答案。我的re 有什么错误。我是 re 的新手。

任何人都可以在 python 中修改这个 re 吗?

请您参考如下方法:

x="400-IF(3>5,5,5)+34+IF(4>5,5,6)" 
print [i for i in re.split(r"IF\([^)]*\)",x) if i] 

你可以简单地使用它。