首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python在_sre.SRE_Match输出中的'match‘行?它能显示完全匹配吗?

Python在_sre.SRE_Match输出中的'match‘行?它能显示完全匹配吗?
EN

Stack Overflow用户
提问于 2018-02-08 07:54:57
回答 3查看 1.5K关注 0票数 0

使用python 3:

代码语言:javascript
复制
In [275]: blah = "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffg"

In [276]: pat = re.compile("([a-z]{2,9999})")

In [277]: data = re.search(pat,blah)

In [278]: data
Out[278]: <_sre.SRE_Match object; span=(0, 125), match='fffffffffffffffffffffffffffffffffffffffffffffffff>

match=''有可能打印出整个字符串吗?即一直到最终的'g'

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-02-08 08:29:34

不,这不可能。该长度是在match对象的repr方法的格式字符串中硬编码的,并不是为了捕获匹配字符串的完整长度而设计的。

除非您编译自己的CPython构建(或任何Python风格),并修改match_repr中的match对象表示的精确度。默认精度为50:

代码语言:javascript
复制
result = PyUnicode_FromFormat(
        "<%s object; span=(%d, %d), match=%.50R>",
        Py_TYPE(self)->tp_name,
        self->mark[0], self->mark[1], group0);

正如其他人所建议的,只需使用match对象的group方法即可访问完整的匹配字符串。

票数 1
EN

Stack Overflow用户

发布于 2018-02-08 08:20:20

使用这个方法,您可以不受任何重复次数上限的约束:

代码语言:javascript
复制
import re

blah = "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffg"

r = re.compile(r'[a-z](.)\1{2,}') # no upper limit
try:
    re.search(r, blah).group()
except AttributeError:
    pass  # whatever you want to do when there is no match
票数 1
EN

Stack Overflow用户

发布于 2018-02-08 08:02:42

您可能正在寻找.group ...

代码语言:javascript
复制
import re
blah = "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffg"
pat = re.compile("([a-z]{2,99})")
data = re.search(pat,blah)
if data:
    data.group(0) # returns 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'
else:
    pass # do something when the string was not found!

请参阅:https://docs.python.org/3.5/library/re.html#re.match.group

Why won't re.groups() give me anything for my one correctly-matched group?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48675282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档