正则表达式
创始人
2024-01-21 04:18:29
0

正则表达式的匹配机制:

字符集:

[ X ]表示匹配X
[^X]表示不匹配X
[A-X]表示匹配范围A-X
[02457] 匹配 0 2 4 5 7
[01234] 匹配 0 1 2 3 4   等价于[0-4]
[0-9]   匹配 0-9
[^0-9]  不匹配 0-9
[a-z]   匹配 a-z
[^a-z]  不匹配 a-z
[a-zA-Z]匹配 a-z A-Z  

量词:

m{X}表示匹配X次
m{X,Y}最下匹配X次,最多匹配Y次
m?匹配0次或1次  相当于m{0,1}
m+至少匹配1次    相当于m{1,}

m*

匹配0次或多次 相当于m{0,}
5{1}       匹配一次[5-9]{1}   匹配一次5{1,5}     最少一次,最多五次[1-9]{1,}  最少一次[a-z]?     0次或一次    {0,1}[A-Z]+     至少匹配一次 {1,0}[a-zA-Z]*  0次或多次    {0,}

 字符集的字符和缩写

\t   \v制表符水平,竖直
\r  \n回车和换行
\xhhhh  \0ooo表示16进制数,8进制数
.匹配任何字符
\d   \D匹配一个数字,匹配一个非数字
\s  \S匹配一个空格,匹配一个非空格
\w  \W匹配一个单词,匹配一个非单词
\\\
\%%
\^^
\n反向引用  \1、 \2等,把前面的分组赋值个\1、\2
\t\n[123]?\w  匹配 水平制表 换行 [123]匹配0个或1个 匹配一个单词
\%\^\\        匹配  %^\
\d{5}         匹配5个数字
\d\s{5}       匹配1个数字和5个字符
.*            匹配任意字符0个或多个

 断言:

^匹配开头
$匹配结尾
\b字符边界
\B非字符边界
(?=E)尾部匹配则为true
(?!E)尾部不匹配为true
(?<=E)头部匹配
  (?头部不匹配
^9\w{10} 匹配9接10个字符开头
1111$    匹配1111结尾的
\babcd\b 匹配abcd这个单词断言的使用
\w+(?=tion) 判断是否是tion结尾
\w+(?!tion) 判断是否不是tion结尾
(<=tion)\w+ 判断是否是tion开头
(

通配符:

?匹配单个字符
*匹配0个或多个字符
[]字符集可以用方括号表示,类似于完整的正则表达式
*.txt  匹配.txt 文件

分组:

()分组
(\w)     表示一个分组
(\w)(\w) 自动命名分组,第一个为1,第二个为2
(?'GG'\w*))定义一个名为 GG的分组

分组和反向引用的例子:

(\w+)\s\1   匹配  Hellow Hellow  \1 代表(\w+)的内容
(\d+)\s(\d+)\s\1\s\2  
匹配 1111 2222 1111 2222
\1代表第一个(\d+)
\2代表第二个(\d+)(?\w+)\s+\k   \k 代表(?\w+)

 

|分支条件,匹配左边或右边
(ab|cd)  要么匹配ab 要么匹配cd
\转义字符

需要转义的字符:$ (  )  *  +  .  [  ]  ?  \  {  }  |

\?\[\}  匹配?[}

 贪婪和懒惰:

  • 贪婪:匹配尽可能长的字符串
  • 懒惰:匹配尽可能短的字符串
  • 懒惰模式的启用只需在重复元字符之后加?既可
*?重复任意次,但尽可能少重复
+?重复1次或更多次,但尽可能少重复
??重复0次或1次,但尽可能少重复

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...