我有这个正则表达式,允许空格后跟可见字符
[[:space:]][[:graph:]]+$
ptrn
我如何构建某种模式或相同模式ptrn
加上上面的附加模式的可能性?
答案1
Awk 使用 POSIX扩展正则表达式,因此您可以用其?
作为量词来表示上述模式的零次或一次出现:
$ printf '%s\n' 'ptrn' 'foo bar' 'ptrn bar' | awk '/ptrn([[:space:]][[:graph:]]+)?$/'
ptrn
ptrn bar
在 GNU awk 中gawk
你也可以使用{n,m}
量词:
$ printf '%s\n' 'ptrn' 'foo bar' 'ptrn bar' | gawk '/ptrn([[:space:]][[:graph:]]+){0,1}$/'
ptrn
ptrn bar