簡體   English   中英

具有復雜字符的Python正則表達式

[英]Python regular expressions with complex characters

我在python代碼中使用正則表達式有問題。 我正在嘗試解析結構如下的文件:

------------
some complex text
abcd
more text
-----------

具有相同圖案的多個盒子。 我只想獲取包含“ abcd”字符串的框。 我設法找到了所有出現的'abcd'字符串,但無法在---之間找到所有文本。 我試圖建立一個玩具弦,但我無法使其工作。 代碼如下:

import re
text = ('-----\nsajnpajnfpiajbpiabvpier abcd fgdspoj\n------' +
        '-----\nsajnpajnfpiajbpiabvpierfgdspoj\n------')
data = re.findall(r"---(.*?)abcd(.*?)---", text)

感謝您的任何幫助編輯:我修改了文本示例,使其更加真實

我認為您不需要使用正則表達式來查找簡單的字符串。 這可能是您要查找的內容的簡化:

s="""
some complex text
abcd
more text
-----------
some complex text
aoecd
more text
-----------
some complex text
abcd
more text
"""
# split the strings and add only those that contain "abcd"
result = [d for d in s.split("-----------") if "abcd" in d]
for r in result:
    print(r)
# result:
# some complex text
# abcd
# more text
# 
# some complex text
# abcd
# more text

如您所見,當出現"-----------"時,我們將拆分字符串,然后評估每個字符串中是否包含子字符串“ abcd”,並保留通過此字符串的字符串。條件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM