简单的正则表达式分裂

时间:2012-06-15 23:12:52

标签: 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或等价物来分割字符串?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

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

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