我有这个字符串等式:
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
吗?
答案 0 :(得分:1)
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]
你可以简单地使用它。
答案 1 :(得分:1)
>>> z = '400-IF(3>5,5,5)+34+IF(4>5,5,6)'
>>> ' '.join(re.split(r'IF\(.*?\)',z)).split()
['400-', '+34+']