千家信息网

正则表达式的选择符怎么用

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了正则表达式的选择符怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。正则表达式中"|"表示选择。你可以用选择符匹配
千家信息网最后更新 2026年11月03日正则表达式的选择符怎么用

这篇文章主要介绍了正则表达式的选择符怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

正则表达式中"|"表示选择。你可以用选择符匹配多个可能的正则表达式中的一个。

如果你想搜索文字"cat"或"dog",你可以用<>。如果你想有更多的选择,你只要扩展列表<>。

选择符在正则表达式中具有***的优先级,也就是说,它告诉引擎要么匹配选择符左边的所有表达式,要么匹配右边的所有表达式。你也可以用圆括号来限制选择符的作用范围。如<<\b(cat|dog)\b>>,这样告诉正则引擎把(cat|dog)当成一个正则表达式单位来处理。

正则表达式的选择符的原理分析:

注意正则引擎的"急于表功"性

正则引擎是急切的,当它找到一个有效的匹配时,它会停止搜索。因此在一定条件下,选择符两边的表达式的顺序对结果会有影响。假设你想用正则表达式搜索一个编程语言的函数列表:Get,GetValue,Set或SetValue。一个明显的解决方案是<>。让我们看看当搜索SetValue时的结果。

因为<>和<>都失败了,而<>匹配成功。因为正则导向的引擎都是"急切"的,所以它会返回***个成功的匹配,就是"Set",而不去继续搜索是否有其他更好的匹配。

和我们期望的相反,正则表达式并没有匹配整个字符串。有几种可能的解决办法。一是考虑到正则引擎的"急切"性,改变选项的顺序,例如我们使用<>,这样我们就可以优先搜索最长的匹配。我们也可以把四个选项结合起来成两个选项:<>。因为问号重复符是贪婪的,所以SetValue总会在Set之前被匹配。

一个更好的方案是使用单词边界:<<\b(Get|GetValue|Set|SetValue)\b>>或<<\b(Get(Value)?|Set(Value)?\b>>。更进一步,既然所有的选择都有相同的结尾,我们可以把正则表达式优化为<<\b(Get|Set)(Value)?\b>>。

感谢你能够认真阅读完这篇文章,希望小编分享的"正则表达式的选择符怎么用"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

正则 表达式 选择 引擎 搜索 篇文章 急切 成功 方案 更多 结果 要么 顺序 明显 最长 有效 相同 贪婪 更进一步 两个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手冲咖啡和咖啡机区别 上海挚品互联网科技有限公司 湖北九亚互联网络科技有限公司 新华互联网科技学校 互联网科技的英文 睿民互联网科技 米客互联网科技 狮子座互联网科技培训 衡水科技产业互联网平台 宁夏众和广鑫互联网科技有限公司 福建科技产业互联网发展 宝灵互联网科技有限公司 华夏恒生科技与互联网科技 朱啸虎曾投资哪些互联网科技企业 众安科技工业互联网合作 黑云互联网科技有限公司 工业互联网科技成果转化 抖集互联网科技技术咨询 萌小萌互联网科技河南有限公司 互联网科技和医药行业 什么是科技互联网 互联网佳科技有限公司 互联网通讯科技 北京互联网科技有限公司 西安互联网科技 无锡溥仪互联网科技有限公司 互联网科技公司需要的职位 西藏七维空间互联网科技有限公司 杭州壁岐互联网科技有限公司 保山互联网科技靠谱吗
0