Py学习  »  Python

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

Johnny S • 5 年前 • 1598 次点击  

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

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”之间的每个段落没有相同的行数。这要看情况。

谢谢你

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49858
 
1598 次点击  
文章 [ 2 ]  |  最新文章 5 年前
yxor
Reply   •   1 楼
yxor    5 年前

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

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))
Austin
Reply   •   2 楼
Austin    5 年前

您可以使用regex按 r"CA '\w*'" .

import re

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

如果你的意见 lines 开始/结束于 CA 'xxxx' ,您将得到一个包含上述代码的空字符串,您可以通过以下方式筛选出该字符串:

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