使用jq正则表达式提取日期字符串中的"01"

ChatGPT4o 使用 ChatGPT 4o 回答

问题:

使用jq正规表达式获取"2024年06月01日"日期字符串中的"01"

回答:

要使用 jq 提取日期字符串 "2024年06月01日" 中的 "01",你可以使用 jq 的正则表达式功能。以下是一个示例命令:

echo '"2024年06月01日"' | jq -r 'capture("(?<day>\\d{2})日").day'

解释:

  1. echo '"2024年06月01日"':输出包含日期字符串的 JSON。
  2. jq -r 'capture("(?<day>\\d{2})日").day'
    • capture("(?<day>\\d{2})日"):使用正则表达式 (?<day>\\d{2})日 捕获日期中的 "01" 部分。\\d{2} 匹配两位数字,(?<day>...) 命名捕获组为 day
    • .day:提取捕获组 day 的值。

运行上述命令将输出:

01

这个命令使用 jqcapture 函数和正则表达式来提取所需的日期部分。