gpt4 book ai didi

python - 查找文本的正则表达式

转载 作者:行者123 更新时间:2023-12-01 07:37:59 24 4
gpt4 key购买 nike

我想获取紧随 AB.00.000 后面的我的文本内容

我可以通过使用下面的正则表达式来获取此AB.00.000

([A-Z]{2,3}\.[0-9]{2}\.[0-9]{3})

如何在 Python 中获取 AB.00.000 旁边的文本?

这是输入字符串:

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard 

AB.00.000 My Text Content

$!#"!

23:50

My Phone

最佳答案

您似乎想在找到模式后获取该行的其余部分。

您可以使用

r'\b[A-Z]{2,3}\.[0-9]{2}\.[0-9]{3}\b\s*(.*)'

请参阅regex demo 。请注意,\b 是一个单词边界,需要在单词字符(或字符串的开头/结尾)之前或之后有除字母/数字/_ 之外的字符。\s*(.*) 是您的解决方案严重缺少的内容:

  • \s* - 0+ 个空格
  • (.*) - 捕获组 #1:除了换行符之外的任何 0 个或更多字符,尽可能多,即该行的其余部分。

如果模式必须位于行的开头,则提取所需文本的正则表达式方法将如下所示

r'(?m)^[A-Z]{2,3}\.[0-9]{2}\.[0-9]{3}\b\s*(.*)'

参见another regex demo(?m) (=re.M 选项)使 ^ 匹配行的开头,而不仅仅是整个字符串的开头、位置。

Python:

m = re.search(r'\b[A-Z]{2,3}\.[0-9]{2}\.[0-9]{3}\b\s*(.*)')
if m:
print(m.group(1))

请注意,要访问匹配的第一个(且仅在此处)带括号的部分,您需要通过 .group(1) 访问匹配组。

关于python - 查找文本的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56883490/

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