gpt4 book ai didi

regex - 使用正则表达式从 1 行字符串中提取数字

转载 作者:行者123 更新时间:2023-12-04 07:38:58 26 4
gpt4 key购买 nike

我有一个看起来像这样的单行字符串:

{"took":125,"timed_out":false,"_shards":{"total":10,"successful":10,"skipped":0,"failed":0}}{"took":365,"timed_out":false,"_shards":{"total":10,"successful":10,"skipped":0,"failed":0}}{"took":15,"timed_out":false,"_shards":{"total":10,"successful":10,"skipped":0,"failed":0}}
我想提取“接受”部分之后的所有数字,因此在我的情况下,输出将如下所示:
125
365
15
到目前为止我尝试过的是使用 took":(\d{1,6}),"(.*)作为正则表达式。但由于它是一个单行字符串,它只提取第一次出现并忽略其他。

最佳答案

您可以使用
查找内容: took":(\d+)|(?s)(?:(?!took":\d).)*替换为:(?{1}$1\n)细节:

  • took": - 文字
  • (\d+) - 捕获到组 1 中的一位或多位数字
  • | - 或
  • (?s) - 设置 DOTALL 模式(. 现在匹配换行符)
  • (?:(?!took":\d).)* - 任何单个字符,零次或多次,尽可能多,不以 took": 开头+ 数字字符序列。
  • (?{1}$1\n)条件替换模式以这种方式替换:
  • (?{1} - 如果第 1 组匹配
  • $1\n - 用第 1 组和换行符替换匹配项

  • ) - 否则,替换为空字符串。
  • 关于regex - 使用正则表达式从 1 行字符串中提取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67589287/

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