当前位置:网站首页>【正则表达式】笔记
【正则表达式】笔记
2022-08-04 00:51:00 【昱浑】
- ^$
表示匹配从^到&之间的内容,用于开头结尾但可以省略, ^123&必须完全匹配123
范围:[] 、{} 、()
- []
约束内容。整个[]内只匹配一个字符 [abc123] 可以是abc123中的 一个 [a-zA-Z] 可以是任意一个字母;[^]: []内的^表示取反, [^a-zA-Z] 指不可以是字母
- {}
约束数量。单独[]只匹配一个字符.所以{}表示[]里的内容的个数, 如[]{3} 指定3个字符, []{3,5} 指定3个至5个, []{3,} 3至无数个。三种特殊数量: ?、*、 + - ()
表示组,一组内容视为一个整体,可以再对组做数量约束;
还可用于对正则中一部分数据分组取出;
分组的目的还可以重复应用,即后面内容必须和前面相等
字符
.点
表示可以匹配任意字符(除了换行) .{2,5} 匹配2至5个任意字符\d
匹配任何数字 等同于0-9 ; \D 等同^\d 不匹配任何字符\w
包括字母、数字、或下划线_\s
代表 [\r \n \t \f \v ]回车符、翻页符、空格等; \S 就是\s取反
数量
- ?
表示某个内容出现0至1次,等同于 {0,1} - *
表示某个内容出现0至无穷次 等同于{0,} (?和*都是对数量的约束,不指的是任意内容) - +
表示某个内容出现 1至无穷次 等同于{1,}
其他
- \
表示转义, 如.表示任意字符,但.表示必须匹配.这个字符
举例: 匹配是字符或数字开头的163邮箱: ^ [a-zA-Z0-9]\[email protected]%
- |
表示 或
()的其他用法
- ()
表示组,一组时一个整体,可以再对组做数量限制;还可用于对正则中一部分数据分组取出;分组的目的还可以重复应用,即后面内容必须和前面相等
^([a-zA-Z0-9]\w+)@163\.com%
^(?<first>[a-zA-Z0-9]\w+)@163\.com% 将邮箱@前内容取出并将分组命名为first
^\d\d\d\d% 表示四位数字
^(\d\d)\1% \1表示后面的内容引用前面的第一个分组 所以表示第三四位要等于第一二位
^(?<first>\d\d)\k<first>% 等同于^(\d\d)\1% ,在对组取名称情况下,要用\k<>引用
(?=str) 匹配并取出内容,且内容还要在str前的才行 如:cdx(?=ohh) cdxohh可以匹配,但cdxkkk就不行
(?!) 对上述取反, 表示不能在str前的才行
(?<=str) 匹配并取出内容,且内容还要在str后的才行 cdx(?<=ohh) ohhcdx
(?<!) 对上述取反, 表示不能在str后的才行
边栏推荐
猜你喜欢
随机推荐
互斥锁、读写锁、自旋锁,以及原子操作指令xaddl、cmpxchg的使用场景剖析
第1章:初识数据库与MySQL----MySQL安装
数据库扩容也可以如此丝滑,MySQL千亿级数据生产环境扩容实战
Shell编程之循环语句(for、while)
typescript56-泛型接口
Jmeter cross-platform operation CSV files
C 学生管理系统 显示链表信息、删除链表
利用matlab求解线性优化问题【基于matlab的动力学模型学习笔记_11】
Google Earth Engine ——利用公开的河流数据计算河流的有效宽度
What warehouse management problems can WMS warehouse management system solve in the electronics industry?
typescript50-交叉类型和接口之间的类型说明
微服务的简单介绍
boot issue
七夕活动浪漫上线,别让网络拖慢和小姐姐的开黑时间
JVM垃圾回收总结(未完待续)
outputBufferIndex = mDecode.dequeueOutputBuffer(bufferInfo, 0) 一直返回为-1
typescript48-函数之间的类型兼容性
typescript57-数组泛型接口
Linux安装mysql最简单教程(一次成功)
身为程序员的我们如何卷死别人?破局重生。