gpt4 book ai didi

linux - grep 字符串中的日期

转载 作者:太空宇宙 更新时间:2023-11-04 04:53:57 27 4
gpt4 key购买 nike

我正在尝试打印字符串中的任何日期值。例如:

echo "08/08/2018 text here" | grep '/(0\d{1}|1[0-2])\/([0-2]\d{1}|3[0-1])\/(19|20)\d{2}/'

这不会返回任何结果。我只想打印日期值,不包括此处的文本。

最佳答案

grep 在正则表达式周围不使用 / 分隔符,并且不需要您转义嵌入的 /

您需要使用 -P 选项将 PCRE 正则表达式与 GNU grep 结合使用,这样它将识别 \d 的数字。

您应该在正则表达式周围放置 \b 以匹配单词边界。否则,如果输入包含 108/08/2018 ,它将匹配 1 之后开始的日期。

您需要 -o 选项来仅打印匹配行的部分,而不是整个匹配行。

echo "08/08/2018 text here" | grep -Po '\b(0\d{1}|1[0-2])/([0-2]\d{1}|3[0-1])\/(19|20)\d{2}\b'

关于linux - grep 字符串中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51777375/

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