程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了python正则表达式在表达式后全选大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决python正则表达式在表达式后全选?

开发过程中遇到python正则表达式在表达式后全选的问题如何解决?下面主要结合日常开发的经验,给出你关于python正则表达式在表达式后全选的解决方法建议,希望对你解决python正则表达式在表达式后全选有所启发或帮助;

我正在尝试进行正则表达式搜索,以获取 expressio 之后的所有文本。

我使用 (?<=%([\s\S]*?):\s).*$ 正则表达式,但在 python 中它不起作用。

例:

group-6-54574 是动态文本。

@H_568_5@may 12 2021 11:07:56 %group-6-54574: some text that i need

返回:

some text that i need

主要条件:

选择所有文本 beetwen %:/s

解决方法

Python re 不支持后视断言中的无限长度量词。

如果您有 PyPi regex module,则可以使用该模式,并省略捕获组。

import regex
pattern = r"(?<=%[\s\S]*?:\s).*$"
s = ("group-6-54574 - it is a dynamic text\n\n"
     "May 12 2021 11:07:56 %group-6-54574: some text that i need")

print(regex.findall(pattern,s))

输出

['some text that i need']

使用 re,您可以使用捕获组而不是后视。

%[\s\S]*:\s(.+)

Regex demo

import re

pattern = r"%[\s\S]*:\s(.+)"
s = ("group-6-54574 - it is a dynamic text\n\n"
     "May 12 2021 11:07:56 %group-6-54574: some text that i need")

print(re.findall(pattern,s))

输出

['some text that i need']

更严格的模式可能是使用否定字符类 [^%:] 来防止一些跟踪

%[^%:]*:\s(.+)

Regex demo

大佬总结

以上是大佬教程为你收集整理的python正则表达式在表达式后全选全部内容,希望文章能够帮你解决python正则表达式在表达式后全选所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。