如何用这种方式为拆分字符串编写Python正则表达式



我有一个字符串,格式如下:

CA 'xxxxxx'
string
string
string
string
CA 'xxxxxx'
string
string
string
string
CA 'xxxxx'
string
string
string
string

在每个段落之间,单词CA和"xxxxx",其中每个x可以代表一个字母的数字,这基本上是一种刺痛。(不是x!(

例如:

CA 'mmaa22'

如何编写一个正则表达式,以便按CA"xxxxxx"分隔字符串?注意:CA'xxxxxx'之间的每个段落的行数不相同。这取决于情况。

谢谢

您可以使用正则表达式按r"CA 'w*'"进行拆分。

import re
re.split(r"CA 'w*'", lines)
# where lines is your input string

如果您的输入linesCA 'xxxx'开始/结束,您将得到一个包含上述代码的空字符串,您可以通过以下方式过滤掉:

list(filter(lambda x: x != '', re.split(r"CA 'w*'", lines)))

我希望这能解决您的问题。

import re
toSplit = """CA 'xxxxxx'
string
string
string
string
CA 'xxxxxx'
string
string
string
string
CA 'xxxxx'
string
string
string
string
"""
pattern = r"CA.*'"
print(re.split(pattern, toSplit))

最新更新