我正在尝试为日期格式dd/MM/YYYY
和时间HH:mm:ss
编写一个简单的正则表达式。
Google始终引用GAWK: Effective AWK Programming
我可以看到的地方:
[:digit:] - 数字字符。和{n} {n,} {n,m}作为量词
本书中没有关于复数regexp中数字+量词的例子(或者我找不到它们)。
我的正则表达式如下:
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。
答案 0 :(得分: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!"}'