Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.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 简单正则表达式拆分_Python_Regex - Fatal编程技术网

Python 简单正则表达式拆分

Python 简单正则表达式拆分,python,regex,Python,Regex,我有以下字符串: string = "Peter Pan, Pete Sampras; Little Pete" 我需要把它按名字分开: split_string = ["Peter Pan", "Pete Sampras", "Little Pete"] 我正在尝试使用re.findall,但遇到了一些问题: print re.findall(r'[,;]', string) [";", ";", ";"] 我在这里做错了什么?我如何正确地使用re.findall或等效工具来拆分字符串?

我有以下字符串:

string = "Peter Pan, Pete Sampras; Little Pete"
我需要把它按名字分开:

split_string = ["Peter Pan", "Pete Sampras", "Little Pete"]
我正在尝试使用
re.findall
,但遇到了一些问题:

print re.findall(r'[,;]', string)
[";", ";", ";"]

我在这里做错了什么?我如何正确地使用
re.findall
或等效工具来拆分字符串?

使用
re.split
如下将拆分字符串:

string = "Peter Pan, Pete Sampras; Little Pete"
print re.split(r'[,;]', string)
["Peter Pan", "Pete Sampras", "Little Pete"]

或者,如果您不确定分隔符,但确定名称之间有空格(或更多),则可以使用:

re.findall("\w+\s+\w+", target_string)

这意味着只跳过一个单词的名称,因为
\w
代表一个字母,
\s
代表一个空格,
+
表示贪婪地搜索一个或多个元素。

re.split(r'\s*[,;]\s*',string)也会删除空格。此外,我会避免使用名称“string”作为变量,因为它位于标准库中。。。