社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

Johnny S • 5 年前 • 1592 次点击  

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

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
 
1592 次点击  
文章 [ 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)))