gpt4 book ai didi

python - 依赖于先前匹配的正则表达式

转载 作者:行者123 更新时间:2023-11-28 17:49:47 25 4
gpt4 key购买 nike

例如,我们如何通过单个 RE 识别以下格式的字符串:

LenOfStr:Str

此格式的示例字符串是:

5:5:str

我们要查找的字符串是“5:str”。

在 python 中,可能类似于以下内容(这不起作用):

r'(?P<len>\d+):(?P<str>.{int((?P=len))})'

一般来说,有没有办法在使用之前更改之前匹配的组,或者我只是问了另一个不适合 RE 的问题。

谢谢。

最佳答案

是的,您所描述的超出了正则表达式的范围。正则表达式只处理实际的字符数据。这提供了一些根据上下文进行匹配的有限能力(例如,(.)\1 匹配同一个字符两次),但您不能将任意函数应用于正在进行的匹配的片段并稍后在同一场比赛中使用结果。

您可以执行类似搜索匹配正则表达式 (\d+):\w+ 的文本,然后对结果进行后处理以检查字符串长度是否等于第一部分的 int 值比赛的。但是您不能将其作为匹配过程本身的一部分。

关于python - 依赖于先前匹配的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12239903/

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