[0-9]* 在正则表达式中的作用

[0-9]* 在正则表达式中的作用

的作用是什么[0-9]*在以下语句中,它将将以偶数开头并后跟空格的所有行写入文件 Even:

sed -n 的/^[0-9]*[02468] //w 偶数' <文件

然后,消除[0-9]*将具有相同的功能/输出。也就是说,两种说法的效果是一样的。

sed -n 's/^[02468] /&/w even' <file

这里没用[0-9]*吗?我真的很困惑。请帮我。

答案1

[0-9]*并不是无用的;它匹配出现在偶数范围 ( [02468]) 之前的任何数字 (0-9)。这是为了考虑多位偶数。

例如,如果您没有^[0-9]*锚定到模式的开头,它将不匹配:

92
910
308
20

您提到的其他模式 ( /^[02468]/) 只会匹配任何开始为偶数。

相关内容