0

我正在尝试为日期格式dd/MM/YYYY和时间编写一个简单的正则表达式HH:mm:ss。谷歌总是引用GAWK: Effective AWK Programming我能看到的地方:

[:digit:] - 数字字符。和 {n} {n,} {n,m} 作为量词

本书中没有关于复杂正则表达式中数字+量词的示例(或者我找不到它们)。

我的正则表达式看起来像:

echo 24/06/2013 | awk ' $0 ~ /[[:digit:]]{2}\/[[:digit:]]{2}\/[[:digit:]]{4}/ { print "MATCHES!"}'

它不起作用,尽管类似的例子:

echo 24/06/2013 | awk ' $0 ~ /[[:digit:]]+\/[[:digit:]]+\/[[:digit:]]+/ { print "MATCHES!"}'

工作正常!任何人都可以提示解决方案吗?我使用 Cygwin。

4

1 回答 1

2

你忘了逃跑/

 echo 24/06/2013 | awk ' $0 ~ /[[:digit:]]{2}\/[[:digit:]]{2}\/[[:digit:]]{4}/ { print "MATCHES!"}'

编辑:

使正则表达式更精确:

echo 24/06/2013 | awk ' $0 ~ /^[[:digit:]]{2}\/[[:digit:]]{2}\/[[:digit:]]{4}$/ { print "MATCHES!"}'
于 2013-08-01T08:27:36.753 回答