gpt4 book ai didi

python - 仅当先前模式匹配时才匹配模式

转载 作者:行者123 更新时间:2023-11-28 17:40:31 24 4
gpt4 key购买 nike

我有一种情况,只有当以前的正则表达式匹配时我才必须匹配一个模式。两种模式都不同,并且 matchobj 在不同的行中。例如,

文本:

blah blah blah MyHost="xxxx"
again blah blah blah MyIp= "x.x.x.x"

我只对 MyHostMyIp 之后的内容感兴趣,我还要求 MyIp 只在有match(MyHost="xxxx") 上面一行。

我能够分别匹配 MyHost 值和 MyIp 值,但很难找到符合要求的逻辑来匹配两者。请注意,我是 python 的新手,尝试了很多搜索并最终来到这里。

最佳答案

MyIp should match only when there is a match(MyHost="xxxx") in the above line.

懒惰的方式从索引 1 中获取匹配的组。您已经知道 MyHost

之后的下一步是什么
\bMyHost="xxxx"\r?\n.*?MyIp=\s*\"([^"]*)

这里是 demo

示例代码:

import re
p = re.compile(ur'\bMyHost="xxxx"\r?\n.*?MyIp=\s*\"([^"]*)', re.IGNORECASE)
test_str = u"blah blah blah MyHost=\"xxxx\"\nagain blah blah blah MyIp= \"x.x.x.x\""

re.findall(p, test_str)

关于python - 仅当先前模式匹配时才匹配模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25112470/

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