当前位置:网站首页>正则表达式介绍及一些语法
正则表达式介绍及一些语法
2022-06-25 22:12:00 【大梦_几千秋】
简单的转译字符
| 符号 | 含义 |
|---|---|
| \n | 代表换行符 |
| \t | 代表制表符 |
| \\ | 代表\本身 |
| \^,\$,\(,\),\{,\},\?,\+,\*,|,\[,\] | 匹配这些符号本身 |
标准字符集合
能够与 多种字符 匹配的表达式
注意区分大小写,大写是相反的意思
| 符号 | 含义 |
|---|---|
| \d | 任意一个数字,0~9中的任意一个 |
| \D | 非数字 |
| \w | 任意一个字母数字或下划线,A-Z,a-z,0~9,_ |
| \W | 除了字母数字下划线的任意字符 |
| \s | 包括空格、制表符、换行符等空白字符的其中任意一个 |
| \S | 除了空格、制表符、换行符之外的任意字符 |
| . | 小数点可以匹配任意一个字符,但是匹配不了换行符,如果要匹配包含\n在内的所有字符,一般用 [\s\S] |
自定义字符集合
[]方括号匹配方式:能够匹配方括号中的任意一个字符
| 表达式 | 匹配字符 |
|---|---|
| [[email protected]] | 匹配 a 或者b或者@或者5 |
| ^ab] | 匹配除了 a,b之外的任意字符 |
| [f-k] | 匹配 f到k之间的任意一个字符,包括 f 和 k |
| [^A-F0-3] | 匹配除了A ~ F,0 ~ 3 之外的任意字符 |
- 在 [ ] 中 ^ 表示取反对的意思。
- 正则表达式的特殊符号,被包含到中括号中,就是去了特殊意义,除了 ^ 和 - 之外。
- 标准字符集合,除了小数点在中括号中会失去特殊意义,其他的不会。 [\dab],匹配数字或者a,b
量词
修饰匹配次数的特殊符号
| 表达式 | 含义 |
|---|---|
| {n} | 表达式重复n次 ,包括 n |
| {m,n} | 表达式至少重复m次,至多重复n次 ,包括 m 和 n |
| {m,} | 表达式至少重复m次 ,包括 m |
| ? | 匹配表达式0次或1次,相当于{0,1} |
| + | 表达式至少出现一次,相当于{1,} |
| * | 表达式不出现或者出现任意次,相当于{0,} |
- 贪婪模式:匹配字符越多越好,默认。例如下图中如果写成c{2,6},就是会匹配到一个cccccc。
- 非贪婪模式:就是在量词后面加一个 ?号。还是下图,写成c{2,6}?,就会匹配到3个cc
如果连续的6个c,使用表达式c{2,3},会匹配到2个ccc,这是因为匹配到第一个ccc的时间会重新计数。
字符边界
| 符号 | 含义 |
|---|---|
| ^ | 以什么开始 |
| $ | 以什么结束 |
| \b | 左右边界不全是 \w ,即左右不全是字母,数字,下划线 |
正则的匹配模式
- 忽略大小写模式
- 单行模式:整个文本看做一个字符串,只有一个开头,一个结尾。
- 多行模式:每行都是一个字符串,都有开头和结尾。
选择符或分组
| 表达式 | 作用 |
|---|---|
| | | 左右表达式之间 或 关系,匹配左边,或者右边 |
| () | 捕获组 1.在被修饰匹配次数的时间,括号中的表达式可以作为整体被修饰。2.取匹配结果的时间,括号中的表达式匹配到的 内容可以单独得到 |
反向引用:每一对()会分配一个编号,使用()的捕获根据左括号从1开始自动编号。
通过反向引用,可以对分组已捕获的字符串进行引用,如下图:小括号中的表达式表示匹配两个字母,后面的\1表示对()中内容的引用,即()中匹配到go,\1再次引用go,这时候这个正则需要的就是 gogo
断言
- 只进行子表达式的匹配,匹配内容不计入匹配结果
- 这个位置应该符合某个条件
| 表达式 | 含义 |
|---|---|
| (?=exp) | 断言自身出现的位置 后面可以 匹配到表达式exp |
| (?<=exp) | 断言自身出现的位置 前面可以 匹配到表达式exp |
| (?!exp) | 断言自身出现的位置 后面不可以 匹配到表达式exp |
| (?<!exp) | 断言自身出现的位置 前面不可以 匹配到表达式exp |
例如:断言自己后面可以匹配到ing的字符
边栏推荐
- Talk about the copy on write mechanism of PHP variables or parameters
- SMT贴片加工PCBA板清洗注意事项
- ValueError: color kwarg must have one color per data set. 9 data sets and 1 colors were provided解决
- 10.4.1 data console
- Oracle writes a trigger that inserts a piece of data first and updates a field in the data
- ASA如何配置端口映射及PAT
- About the swoole coroutine container
- Literature research (II): quantitative evaluation of building energy efficiency performance based on short-term energy prediction
- STEP7主站与远程I/O组网_过路老熊_新浪博客
- 手工制作 pl-2303hx 的USB转TTL电平串口的电路_过路老熊_新浪博客
猜你喜欢

如何配置SQL Server 2008管理器_过路老熊_新浪博客

Thrift入门学习

迅为RK3568开发板使用RKNN-Toolkit-lite2运行测试程序
![Find the minimum value of flipped array [Abstract bisection]](/img/b9/1e0c6196e6dc51ae2c48f6c5e83289.png)
Find the minimum value of flipped array [Abstract bisection]

Installation of third-party library iGraph for social network visualization
![Bit Compressor [蓝桥杯题目训练]](/img/d5/231d20bf4104cc2619b2a4f19b605c.png)
Bit Compressor [蓝桥杯题目训练]

js实现输入开始时间和结束时间,输出其中包含多少个季,并且把对应年月打印出来

Some common operation methods of array

The role of iomanip header file in actual combat

Notes on the method of passing items from the spider file to the pipeline in the case of a scratch crawler
随机推荐
Connecting MySQL database with VBScript_ Old bear passing by_ Sina blog
Transformation of communication protocol between Siemens S7-200PLC and Danfoss inverter_ Old bear passing by_ Sina blog
Literature research (III): overview of data-driven building energy consumption prediction models
兆欧表电压档位选择_过路老熊_新浪博客
Realize the conversion between analog quantity value and engineering quantity value in STEP7_ Old bear passing by_ Sina blog
Sword finger offer 48 Longest substring without duplicate characters
手工制作 pl-2303hx 的USB轉TTL電平串口的電路_過路老熊_新浪博客
Redis之常见问题
Rocket message storage
[reprint]rslogix 5000 instance tutorial
ASA如何配置端口映射及PAT
Backup restore of xtrabackup
Find the minimum value of flipped array [Abstract bisection]
mysql 主从复制
[转载]RSLOGIX 5000实例教程
【微信公众号H5】 生成带参数进入公众号关注页的二维码 监听用户关注公众号事件 自定义菜单栏 (服务端)
Redis之跳跃表
Record a simple question with ideas at the moment of brushing leetcode - Sword finger offer 09 Implementing queues with two stacks
网络连接验证
Redis之哨兵