gpt4 book ai didi

正则表达式跳过类似结果

转载 作者:行者123 更新时间:2023-12-01 01:48:27 25 4
gpt4 key购买 nike

我一直试图想出一种方法来解决我正在搜索 PCAP 文件的情况。我正在寻找 HTTP OK 响应后的 header “Content-Type: .*”。但是,在这样的示例中:

HTTP/1.1 200 OK
date:
asdf
X-Content-Type: aadsf
Content-Type: application/json
more: stuff

HTTP/1.1 200 OK
date:
asdf
X-Content-Type: aadsf
Content-Type: application/json
more: stuff

我当前的正则表达式 "HTTP\/1.1 200 OK[\s\S]*?Content-Type:.*"X-Content-Type: aadsf 处停止捕获组.我的意图是正则表达式捕获组转到 Content-Type: application/json .

任何可以给我一些指示的正则表达式向导?

最佳答案

您可以使用的没有环视的 PCRE 正则表达式是

(?m)^HTTP.*(?:\R.+)*?\RContent-Type:\s*\K.+

regex demo .如果你想让它更高效, replace the first .+ with .++ .它可以很容易地重写以用于捕获组并说 (CR)?LF 结尾:
^HTTP.*(?:\r?\n.+)*?\r?\nContent-Type:\s*(.+)

请注意 m多行修饰符 ^可能仍然需要匹配一行的开头。

详情 :
  • ^ - 行首
  • HTTP - 一个子串
  • .* - 该行的其余部分
  • (?:\R.+)*? - 任何 0+,尽可能少的换行序列( \R\r?\n )后跟 1 个或多个除换行符以外的字符
  • \R - 换行
  • Content-Type: - 文字子串
  • \s* - 0+ 个空格
  • \K - 匹配重置运算符丢弃所有与当前匹配值匹配的文本
  • .+ - 除换行符以外的 1 个或多个字符。
  • 关于正则表达式跳过类似结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46612646/

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