在正则表达式中,有一个问号元字符。这个元字符所表达的含义便是或有或无,很多时候这个元字符并不常用。或许是因为它的匹配并不贪婪导致这样那样的问题出现,不过值得庆幸的是,这个元字符会在很多匹配环境中大放异彩。可能这里会有一个问题,那就是既然这么多环境可以用到,但为什么用的人这么少呢?哦,这就牵扯到一些人的审美观和职业了。对于我来说,这些东西并不方便过多评价。不过我可以尝试从技术层面上分析一下或者解释一些关于这个元字符的应用,这样可以让我聊以自慰、稍感心安。
这个元字符的精确描述是,一个半角的疑问号,也就是英文中的问号。基本解释是,匹配零个或一个。这和之前的星号有点类似,不过星号只是限定了最低而没有限制最高,可以说这个元字符是贪婪的。当然,这里我们并不能就直接说,问号就是懒惰的。至少这个匹配原则仅仅是限定了最高和最低而已。但这个或有或无的特性在你确定规则的情况下,有着很多不可忽视的用处。首先它可以让一个字符串不能出现漏掉或误判的失误,其次这是一个具有两个选择的字符串,而且还可以根据实际情况进行调整。这两个特性对于正则表达式具有非凡的意义——不过这只是其中一个而已,并不显眼,在这里只是说它有非凡的意义而已,别无他意。
【未完】,对于以上内容,还有值得参考的页面:http://test-szx.github.io/pages/2012/08/25/bash-help.html