Skip to main content
 首页 » 编程设计

python之如何在 python 中拆分运算符和操作数

2025年05月04日14mq0036

我的运营商是:= , >= , <= , > , <
而我的表达就像下面的例子一样简单:

string1 = string2 
string1=string2 
string1= string2 
string1 =string2 
string1>=string2 
string1 >=string2 
string1 >= string2 
string1 <string2 
... 

我需要将上述任何表达式拆分为三个词,并获得一个包含运算符和操作数的列表。例如

['string1', '>=', 'string2'] 

我尝试使用 re.split但没有得到合适的结果。任何建议将不胜感激。

请您参考如下方法:

下面是提取数据的代码,你可以把找到的元素放在一个列表中,你可以随意:

import re 
lst = ['string1 = string2', 
    'string1=string2', 
    'string1= string2', 
    'string1 =string2', 
    'string1>=string2', 
    'string1 >=string2', 
    'string1 >= string2', 
    'string1 <string2'] 
pat = re.compile(r'(\w+)\s*([<>=]{1,2})\s*(\w+)') 
for e in lst : 
    matches = pat.search(e) 
    print matches.group(1), matches.group(2), matches.group(3) 

输出:

string1 = string2 
string1 = string2 
string1 = string2 
string1 = string2 
string1 >= string2 
string1 >= string2 
string1 >= string2 
string1 < string2