Python regex re.split使用特定单词作为分隔符

时间:2014-01-25 01:26:44

标签: python regex

我正在尝试在多个分隔符上执行.split,所以我尝试使用re.split()

我用谷歌搜索的其他例子显示使用\ b

text = "this and that;something.else\nand some more"
import re
items=re.split("[;|\.|\n|\b and \b]",text)
print items

这给出了:

['this', '', '', '', '', 'th', 't', 'somethi', 'g', 'else', '', '', '', '', 'some', 'more']

我希望它使用" and "作为分隔符并给出:

['this', 'that', 'something', 'else', 'and some more']

1 个答案:

答案 0 :(得分:4)

因为您想要获取单词,请尝试使用否定字符类:

items = re.split(" and |[^a-zA-Z ]+",text)

注意:写[;|\.|\n|\b and \b]毫无意义。一个字符类就像你把一个无序的单个字符放在一个包里,你不能把一个单词(有序字符),你不能把断言作为一个单词边界。 字符类|内部被视为文字,没有特殊含义。你的角色类与[abdn ;.|]

完全相同