当前位置:网站首页>正则表达式
正则表达式
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.非贪婪模式
+ * {
}默认是贪婪模式,加上?就会转化为非贪婪模式
边栏推荐
猜你喜欢

本周二晚19:00战码先锋第8期直播丨如何多方位参与OpenHarmony开源贡献

洛谷P5706 再分肥宅水

Stm32cubeide1.9.0\stm32cubemx 6.5 f429igt6 plus lan8720a, configure eth+lwip

Let Ma Huateng down! Web3.0, hopeless

畅游动态规划之区间DP

CORBA 架构体系指南(通用对象请求代理体系架构)

开源技术交流丨一站式全自动化运维管家ChengYing入门介绍

清华大学教授:软件测试已经走入一个误区——“非代码不可”

"Apprendre cette image" apparaît sur le Bureau win11 comment supprimer

VMware virtual machine PE startup
随机推荐
[LeetCode]513. Find the value in the lower left corner of the tree
GBase 8a OLAP分析函数cume_dist的使用样例
io流代码
豆沙绿保护你的双眼
.NET学习笔记(五)----Lambda、Linq、匿名类(var)、扩展方法
Burp suite遇到的常见问题
Stm32cubeide1.9.0\stm32cubemx 6.5 f429igt6 plus lan8720a, configure eth+lwip
C语言程序设计详细版 (学习笔记1) 看完不懂,我也没办法。
Go从入门到实战——仅执行一次(笔记)
[LeetCode]161. 相隔为 1 的编辑距离
VMware virtual machine PE startup
Go从入门到实战——CSP并发机制(笔记)
专题教程——选队长游戏
Go from starting to Real - Interface (note)
Array assignment
Common methods of string class
Method of reading file contents by Excel
[LeetCode]186. Flip word II in string
神奇的POI读取excel模板文件报错
根据自定义excel标题模板快速excel导出