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

Python 尝试使用正则表达式拆分字符串,python,regex,split,Python,Regex,Split,我有一大块文字: SELECT TOP 10 * FROM APPLES GO SELECT TOP 10 * FROM PEARS TREE GO SELECT TOP 10 * FROM FRUITS ... 我只是试着把这些文本拆分成一个基于围棋的字符串列表,这很有效: commandlist = textblock.split("GO") 但是。。我想做的是使用类似于: commandlist = textblock.split(r"\bGO\b") 因为我希望一些文本看起来像:

我有一大块文字:

SELECT TOP 10 * FROM APPLES
GO
SELECT TOP 10 * FROM PEARS TREE
GO
SELECT TOP 10 * FROM FRUITS
...
我只是试着把这些文本拆分成一个基于围棋的字符串列表,这很有效:

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
...
但似乎我不能把一个正则表达式推到split中?或者我和我只是错过了这样做的方法吗?

您需要使用,而不是:

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

commandlist = re.split(r"(?m)^GO$", textblock)
您需要使用,而不是:

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

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

使用
re.split
。如此基本,我找不到复制。使用
re.split
。这么简单,我找不到一个傻瓜。完美,这正是我想要的。代码工作得很好。我会接受的,让我来吧。我喜欢它,因为我可以简单地将答案复制/粘贴到我的旧台词上,而且它很有效。太好了,这正是我想要的。代码工作得很好。我会接受的,让我来吧。我喜欢它,因为我可以简单地将答案复制/粘贴到我的旧台词上,而且效果很好。