2017-10-08 27 views
0

有人可以用egrep或grep使用时用*作为正则表达式来解释零出现的含义吗?正则表达式中出现零(Unix)

假设我有这样的表达:“A *”

这是否意味着我有一个或AAAAA .....或者鲍勃开始还是必须开始一个模式?

+1

如果你有'a *',这意味着它可以匹配任何东西,因为'a *'可以匹配零个字符,即空字符串,所有字符串都以空字符串开头。 – Psidom

+0

如果我有* $,该怎么办?这是否意味着它必须以至少1个“a”结束? – Lucifellow

+0

不,它仍然匹配任何东西,因为所有的字符串也以空字符串结尾。通常你不应该构造一个匹配零长度模式的正则表达式。它至少应该是“+ $”,因为它是有意义的。 – Psidom

回答

0

你是正确的,a*将匹配bob,如意志^ba*o^boa*,因为克林星匹配零次或多个出现。

考虑单词bazaar。您可以使用za*,zaa*zaaa*r来匹配它。要坚持发生一次或多次事件,您可以使用za+r。两个或更多使用zaa+r。要坚持正确发生两次,请使用za{2}r