1
,是否有可能在列表的同一索引中列出兩個隨後出現的*號?Python re.findall使用re.findall *和**
可以說我有str = "2**3 + 2*3"
我想在列表中顯示爲
lis = re.findall('[\+\-*/()]', str)
lis = [2, **, 3, +, 2, *, 3]
有像*|**
一些正則表達式?
,是否有可能在列表的同一索引中列出兩個隨後出現的*號?Python re.findall使用re.findall *和**
可以說我有str = "2**3 + 2*3"
我想在列表中顯示爲
lis = re.findall('[\+\-*/()]', str)
lis = [2, **, 3, +, 2, *, 3]
有像*|**
一些正則表達式?
在char類之後使用+
,它重複上一個標記一次或多次。
lis = re.findall(r'[-+*/()]+|\d+', string)
或
lis = re.findall(r'[A-Za-z\d]+|[^\w\s]+', string)
實施例:
>>> s = "2**3 + 2*3"
>>> re.findall(r'[-+*/()]+|\d+', s)
['2', '**', '3', '+', '2', '*', '3']
>>> re.findall(r'[A-Za-z\d]+|[^\w\s]+', s)
['2', '**', '3', '+', '2', '*', '3']
你可以使用re.split
也,
>>> re.split(r'\s*([-+*/()]+)\s*', s)
['2', '**', '3', '+', '2', '*', '3']