登录  /  注册

各种正则表达式实例用法

巴扎黑
发布: 2017-04-20 18:01:55
原创
1474人浏览过

选择

   用圆括号将所有选择项括起来,相邻的选择项之间用|分隔。但用圆括号会有一个副作用,是相关的匹配会被缓存,此时可用?:放在第一个选项前来消除这种副作用。

   其中?:是非捕获元之一,还有两个非捕获元是?=和?!,这两个还有更多的含义,前者为正向预查,在任何开始匹配圆括号内的正则表达式模式的位置来匹配搜索字符串,后者为负向预查,在任何开始不匹配该正则表达式模式的位置来匹配搜索字符串。 

后向引用

   对一个正则表达式模式或部分模式两边添加圆括号将导致相关匹配存储到一个临时缓冲区中,所捕获的每个子匹配都按照在正则表达式模式中从左至右所遇到的内容 存储。存储子匹配的缓冲区编号从 1 开始,连续编号直至最大 99 个子表达式。每个缓冲区都可以使用 ‘\n’ 访问,其中 n 为一个标识特定缓冲区的一位或两位十进制数。

   可以使用非捕获元字符 ‘?:’, ‘?=’, or ‘?!’ 来忽略对相关匹配的保存。


各种操作符的运算优先级

   相同优先级的从左到右进行运算,不同优先级的运算先高后低。各种操作符的优先级从高到低如下:

操作符                                                    描述    

\                                                        转义符    

(), (?:), (?=), []                                   圆括号和方括号    

*, +, ?, {n}, {n,}, {n,m}                       限定符    

^, $, \anymetacharacter                 位置和顺序    

|                                                     “或”操作    


部分例子

正则表达式                                                        说明    

/\b([a-z]+) \1\b/gi                                      一个单词连续出现的位置    

/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/               将一个URL解析为协议、域、端口及相对路径    

/^(?:Chapter|Section) [1-9][0-9]{0,1}$/     定位章节的位置    

/[-a-z]/                                                        A至z共26个字母再加一个-号。    

/ter\b/                                                         可匹配chapter,而不能terminal    

/\Bapt/                                                        可匹配Windows95或Windows98或WindowsNT,当找到一个匹配后,从Windows后面开始进行下一次    

以上就是各种正则表达式实例用法的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号