尝试使用正则表达式拆分字符串

时间:2017-06-09 19:14:03

标签: python regex split

我有一大块文字:

SELECT TOP 10 * FROM APPLES
GO
SELECT TOP 10 * FROM PEARS TREE
GO
SELECT TOP 10 * FROM FRUITS
...

我只是尝试将此文本拆分为基于GO的单个字符串列表,这有效:

commandlist = textblock.split("GO")

但是......我想做的是使用类似的东西:

commandlist = textblock.split(r"\bGO\b")

因为我期待一些文字看起来像:

SELECT TOP 10 * FROM GOPATRIOTS
GO
SELECT TOP 10 * FROM PEARS LETITGO
GO SELECT TOP 10 * FROM FRUITS
...

但似乎我不能把正则表达式分成两部分?或者我和我只是错过了这样做的方式?

1 个答案:

答案 0 :(得分:2)

您需要使用re.split,而不是string split

import re
commandlist = re.split(r"\bGO\b", textblock)

或者,因为您需要使用等于GO的行进行拆分:

commandlist = re.split(r"(?m)^GO$", textblock)