正则表达式的常用规则
最编程
2024-07-16 21:32:17
...
1、直接匹配字符
直接匹配普通的字符,可以是中文
例:
ABC 相当于:A{1}B{1}C{1}
哈 相当于:哈{1}
哈|呵 相对于:哈{1}|呵{1},匹配一个字符,可以是哈或者呵
2、匹配多次
例:
哈{n} 必须匹配"哈"n次
哈{1,5} 最少匹配"哈"1次,最多5次
3、匹配多个字符
例:
[0-9] 匹配一个字符,字符可以是0~9
[a-zA-Z]{2} 匹配2个字符,字符可以是任何字母
4、起始匹配断言:^
以^开头的正则表达式必须从开头匹配
例:
字符串:qwertyuiop
以[a-zA-Z]{2}匹配会匹配整个字符串(因为这个字符串任何两个相邻的字符都符合这个正则表达式)
以^[a-zA-Z]{2}匹配则匹配开头的qw
5、结尾匹配断言:$
以$结尾的正则表达式必须从结尾匹配
例:
字符串:qwertyuiop
以[a-zA-Z]{2}$匹配则匹配结尾的op
6、同时使用^和$
同时使用两者是从开头和结尾都要同时匹配
例:
^[a-zA-Z]{2}$ 匹配的内容必须是2个字符的字母
7、用特殊符号代替常见的组合
例:
[0-9] 用\d代替(数字)
{0,1} 用?代替
要匹配0~99的数:^[0-9]{1,2}$(或^[0-9][0-9]{0,1}$)就可以写成:^\d{1,2}$(或^\d\d?$)
其他:
\f 换页
\n 换行
\r 回车
\t 制表符
\xhhhh 一个16进制数
. 一个任意字符
\D 一个非数字
\s 一个空白符(包括\n、\f、\t、\r、""等)
\S 一个非空白符
\w 一个单词字符(即:[A-Za-z0-9_])
\W 一个非单词字符
8、特殊符号^
^除了上面说的放在开头表示从开头匹配还可以放在方括号里表示相反的意思
例:
匹配abc中任何一个:[a-c](或[abc])
匹配一个字符但abc除外:[^a-c](或[^abc])
9、量词代替
? 0次或1次,即:{0,1}
+ 1次或多次,即:{1,} 注意:这里要是设置setMinimal(false);设置非贪婪匹配,匹配到1次就停下
* 0次或多次,即:{0,}
{n,} 最少n次
{,n} 最多n次,即:{0,n}
10、其他断言
\b 单词边界
\B 非单词边界
(?=E) 表达式后面跟E才匹配,这里的?不再表示0次或1次
例:
啊啊啊啊呵呵啊啊啊啊嘿嘿嘿 表达式:啊(?=嘿) 当"啊"后面跟着"嘿"才匹配,匹配结果是"嘿"前面的"啊"
(?!E) 表达式后面没有跟着E才匹配
上一篇: 正则表达式匹配一行中的固定字符串。
下一篇: 正则匹配点号
推荐阅读
-
[代码与应用] 10 个最常用的 Python 软件包!
-
前端开发中的 CSS 命名规则和 BEM 实践
-
智能工厂设计软件 离散逼近和 "程序 "逻辑描述的形式化规则 2 of 2
-
std::make_pair的Android C++常用功能
-
MySQL、PostgreSQL、ClickHouse、MongoDB 的区别,包含 5 个数据库的项目的适用场景 - I. 常用数据库概述
-
Lua 正则表达式(模式匹配规则)--提取颜色/颜色代码
-
MySQL 数据库的常用命令
-
常用的 devops 工具集成方法
-
常用正则波形的简单生成方法
-
4.4 章 python 中的循环结构必须相互嵌套:常用于形状(矩形、三角形、菱形)。