[英]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.