Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带*和*的Python re.findall**_Python - Fatal编程技术网

带*和*的Python 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 = "

使用re.findall,是否可以在列表的同一索引中列出两个后续发生的*

假设我有
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']