grep正则零宽断言

grep正则零宽断言

root@bwhhkle:~# echo "I'm singing while you're dancing. haha" | grep -Po '\b\w+(?=ing)'
sing
danc
注: 正则规则请查正则表达式手册
\b 匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。
\w 匹配字母、数字、下划线。等价于'[A-Za-z0-9_]'。

root@bwhhkle:~# echo '2015-07-23T07:45:27.073217983Z' |grep -Po '(?<=T)[^A-Z]+'
07:45:27.073217983

# 实际也可以这么写:
root@bwhhkle:~# echo '2015-07-23T07:45:27.073217983Z' | grep -Po '[^A-Z]+(?=Z)'
07:45:27.073217983
牟定右边的Z,然后向左边匹配或选择符合正则条件的内容,只要遇到不符合正则的地方就停下来匹配,最后把符合正则条件的内容打印出来