正则表达式的选择符的操作使得我们在使用正则表达式是更加得心应手,那么具体的实现有什么呢?还有就是正则表达式选择符的使用原理是什么呢?让我们来看看具体的内容。
正则表达式中“|”表示选择。你可以用选择符匹配多个可能的正则表达式中的一个。
如果你想搜索文字“cat”或“dog”,你可以用<
选择符在正则表达式中具有***的优先级,也就是说,它告诉引擎要么匹配选择符左边的所有表达式,要么匹配右边的所有表达式。你也可以用圆括号来限制选择符的作用范围。如<<\b(cat|dog)\b>>,这样告诉正则引擎把(cat|dog)当成一个正则表达式单位来处理。
正则表达式的选择符的原理分析:
注意正则引擎的“急于表功”性
正则引擎是急切的,当它找到一个有效的匹配时,它会停止搜索。因此在一定条件下,选择符两边的表达式的顺序对结果会有影响。假设你想用正则表达式搜索一个编程语言的函数列表:Get,GetValue,Set或SetValue。一个明显的解决方案是<
因为<
和我们期望的相反,正则表达式并没有匹配整个字符串。有几种可能的解决办法。一是考虑到正则引擎的“急切”性,改变选项的顺序,例如我们使用<
一个更好的方案是使用单词边界:<<\b(Get|GetValue|Set|SetValue)\b>>或<<\b(Get(Value)?|Set(Value)?\b>>。更进一步,既然所有的选择都有相同的结尾,我们可以把正则表达式优化为<<\b(Get|Set)(Value)?\b>>。
正则表达式的选择符相关的内容就向你介绍到这里,希望对你了解和掌握正则表达式的选择符方面的操作有所帮助。
【编辑推荐】
上一篇:WSUS服务器和更新管理流程