带*和*的Python re.findall**
使用re.findall,是否可以在列表的同一索引中列出两个后续发生的* 假设我有带*和*的Python re.findall**,python,Python,使用re.findall,是否可以在列表的同一索引中列出两个后续发生的* 假设我有str=“2**3+2*3”我希望列表显示为 lis = re.findall('[\+\-*/()]', str) lis = [2, **, 3, +, 2, *, 3] 是否存在类似于“*|***”的正则表达式?在char类之后使用“+”,该类将前一个标记重复一次或多次 lis = re.findall(r'[-+*/()]+|\d+', string) 或 例如: >>> s = "
str=“2**3+2*3”
我希望列表显示为
lis = re.findall('[\+\-*/()]', str)
lis = [2, **, 3, +, 2, *, 3]
是否存在类似于“
*|***
”的正则表达式?在char类之后使用“+
”,该类将前一个标记重复一次或多次
lis = re.findall(r'[-+*/()]+|\d+', 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']
>>> re.split(r'\s*([-+*/()]+)\s*', s)
['2', '**', '3', '+', '2', '*', '3']