gpt4 book ai didi

python - 使用正则表达式模式从文本中提取每个片段

转载 作者:太空宇宙 更新时间:2023-11-03 17:58:36 25 4
gpt4 key购买 nike

我有这个文本行:

01102574 04 n 02 republication 0 republishing 0 003 @ 01101958 n 0000 ! 01746163 v 0201 + 01746163 v 0101 ! 01758710 v 0541 + 00967643 v 0201

我需要提取前 8 位数字和问号后面的每个段,如下所示:

01102574! 01746163 v 0201 ! 01758710 v 0541

我在 python 中使用这个正则表达式:

pattern = re.compile(r"""
^([0-9]{8})(.*?)\ !\ (([0-9]{8}\ [a-z]{1}\ [0-9]{4}))
""", re.VERBOSE | re.MULTILINE)
for match in pattern.finditer(text_in):
output = "%s %s\n" % (match.group(1, 3))

我的问题是我只能得到问号后面的第一段,而不能得到其他部分。我如何将正则表达式与所有段进行匹配。

提前致谢。

最佳答案

你可以使用这个:

import re

text_in = "01102574 04 n 02 republication 0 republishing 0 003 @ 01101958 n 0000 ! 01746163 v 0201 + 01746163 v 0101 ! 01758710 v 0541 + 00967643 v 0201";

pattern = re.compile("((^[0-9]{8})|(! [0-9]+ [a-z] [0-9]{4}))")

for match in pattern.findall(text_in):
print match[0]

输出:

01102574
! 01746163 v 0201
! 01758710 v 0541

关于python - 使用正则表达式模式从文本中提取每个片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28092806/

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