正则表达式帮助Python提取特定的字符串,如下所示

问题描述 投票:-3回答:2

在1008之后和下一行中的连字符之前提取字符串

ad - 1007-1008 shout rt v shout gh - 11/11/1008

python regex
2个回答
0
投票

由于缺乏来自您方的投入来提出详细问题,这是我们能够得到的最接近的问题

string="ad - 1007-1008 qw rt v qw gh - 11/11/1008"
print(string[14:-16])

0
投票

我看到这是你第一次询问关于SO的问题,因此建议你快速通过How to put a good question,就像有人在评论中提出的那样。您应该在此处展示您尝试解决问题的努力。它也增加了其他人发布答案的可能性,这可能会使你的帖子免于贬值。此外,您应列出预期输出与程序的实际输出,以使其更清晰。

不过,我想我已经有了你的问题,虽然看起来有点宽泛,但这是我的解决方案。如果这是您正在寻找的,请告诉我。

有了这两个条件,您可以使用正面预测和正面观察后面的正则表达式来捕获您想要的文本,

(?<=1008).+(?=-)

Demo

Python代码演示,

import re

s = 'ad - 1007-1008 qw rt v qw gh - 11/11/1008'
print(re.search(r'(?<=1008).+(?=-)',s).group())

打印,

 qw rt v qw gh

同样,基于非外观的解决方案将是以下内容,您可以在其中删除外观,而是使用group来使用以下正则表达式捕获预期的文本,

1008(.+)-

Demo

Python代码演示,

import re

s = 'ad - 1007-1008 qw rt v qw gh - 11/11/1008'
print(re.search(r'1008(.+)-',s).group(1))

打印,

 qw rt v qw gh
© www.soinside.com 2019 - 2024. All rights reserved.