当前位置:网站首页>正则表达式
正则表达式
2022-06-27 19:36:00 【JAPAN_is_shit】
前言
正则表达式基本内容
一.字符集
正则表达式中预定义了一些字符集,字符集能以简洁的方式表示一些由元字符和普通字符表示的匹配规则。
以下是字符集,在字符集中都支持unicode之内的字符,因此在中英文中用[0-9]表示数字,[A-Za-z]表示字母比较准准确。
. 匹配除\n\r的任意一个字符
\d 匹配一个数字,约等价[0-9],范围更大
\D 匹配一个非数字
\w 匹配一个字母数字下划线的单词字符,约等价[A-Za-z0-9_],范围更大
\W 匹配一个非单词字符
\s 匹配一个不可见字符
\S 匹配一个可见字符
\b 匹配单词的边界,匹配位置
\B 匹配单词的非边界
二.限定符
* 对前面的表达式匹配任意次
+ 对前面的表达式匹配1次或多次
? 对前面的表达式匹配0次或一次
() 将之间的表达式定义为“组”(group),它们可以用 \1 到\9 的符号来引用。
(q)(w)\1\2 会匹配到qwqw
[] 匹配其中所包含的任一字符
{
} 前面表达式的匹配次数
| 逻辑或运算
- 连字符,表示范围
^ 从字符串头部开始匹配
$ 从字符串结尾开始匹配
三.常用表达式
1.匹配位置
(pattern) 获取匹配的pattern值
下面四个都是非获取匹配,主要用来定位
(?=pattern) 正向肯定匹配 123(?=\.jpg) 指匹配.jpg之前的123
(?<=pattern) 反向肯定匹配 (?<=123)\.jpg 指匹配123后面的.jpg
(?!pattern) 正向否定匹配 123(?!\.jpg) 指不匹配.jpg之前的123
(?<!pattern) 反向否定匹配 (?<!123)\.jpg 指不匹配123后面的.jpg
2.分组引用
([A-Za-z])(\1) (\1)获取第一个分组的值 ,匹配两个连续相同的字母
([A-Za-z])([A-Za-z])(\1)(\2) ABAB类型字符
([\u4e00-\u9fa5])(\1)([\u4e00-\u9fa5])(\3) AABB型成语
3.非贪婪模式
+ * {
}默认是贪婪模式,加上?就会转化为非贪婪模式
边栏推荐
- GBase 8a OLAP分析函数cume_dist的使用样例
- Gbase 8A OLAP analysis function cume_ Example of dist
- Example of using gbase 8A OLAP function group by grouping sets
- Go从入门到实战——仅需任意任务完成(笔记)
- A method of go accessing gbase 8A database
- Go从入门到实战——仅执行一次(笔记)
- 数组作业题
- 熊市慢慢,Bit.Store提供稳定Staking产品助你穿越牛熊
- Simulink method for exporting FMU model files
- 开源技术交流丨一站式全自动化运维管家ChengYing入门介绍
猜你喜欢
win11桌面出现“了解此图片”如何删除
Special training of guessing game
win11桌面出現“了解此圖片”如何删除
Go从入门到实战——依赖管理(笔记)
本周二晚19:00战码先锋第8期直播丨如何多方位参与OpenHarmony开源贡献
Stm32cubeide1.9.0\stm32cubemx 6.5 f429igt6 plus lan8720a, configure eth+lwip
Interval DP of Changyou dynamic programming
vmware虚拟机PE启动
Go从入门到实战——Context与任务取消(笔记)
Stm32f107+lan8720a use stm32subemx to configure network connection +tcp master-slave +udp app
随机推荐
清华大学教授:软件测试已经走入一个误区——“非代码不可”
分享|智慧环保-生态文明信息化解决方案(附PDF)
GBase 8a OLAP分析函数cume_dist的使用样例
Slow bear market, bit Store provides stable stacking products to help you cross the bull and bear
[LeetCode]动态规划解拆分整数I[Silver Fox]
[LeetCode]513. 找树左下角的值
VMware virtual machine PE startup
语言弱点列表--CWE,一个值得学习的网站
Process control task
数组作业题
[leetcode] dynamic programming solution partition array i[red fox]
Tiktok's interest in e-commerce has hit the traffic ceiling?
[LeetCode]508. 出現次數最多的子樹元素和
TreeSet详解
Go from introduction to actual combat - context and task cancellation (notes)
Go从入门到实战——多态(笔记)
GBase 8a V8版本节点替换期间通过并发数控制资源使用减少对系统影响的方法
[LeetCode]508. The most frequent subtree elements and
Go from introduction to practice -- coordination mechanism (note)
软件测试自动化测试之——接口测试从入门到精通,每天学习一点点