gpt4 book ai didi

python - 正则表达式在 Rubular 中传递,但在 Python 中不传递

转载 作者:行者123 更新时间:2023-12-01 05:58:37 25 4
gpt4 key购买 nike

import re
import urllib.request
file_txt = urllib.request.urlopen("ftp://ftp.sec.gov/edgar/data/1408597/0000930413-12-003922.txt")
pattern_item4= re.compile("(Item\\n*\s*4.*)Item\\n*\s*5")
print(re.search(pattern_item4,bytes.decode(f)))
#Returns None

这个正则表达式返回了我想要的 rubular 值,但显然它没有达到 Python 中预期的效果。有人会帮我解决这个问题吗?正则表达式的目的是基本上提取 item4 和 item5 之间的内容。

谢谢

enter image description here

最佳答案

您需要 re.DOTALL 标志,否则 . 与换行符不匹配。要在 EOL 时匹配 Item,您可以将 $ 与 re.MULTILINE 标志一起使用:

pattern = re.compile(r"(Item$\s*4.*)Item$\s*5", re.S | re.M)

关于python - 正则表达式在 Rubular 中传递,但在 Python 中不传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11443000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com