正则表达式的用法

时间: 2023-08-02 admin 互联网

正则表达式的用法

正则表达式的用法

正则表达式

什么是正则表达式呢,其实就是字符串的特殊表示,更加的简单和方便
表达式的组成分为
a.字符 必须
b.数量 可选
c.分组 可选
下面是格式

下面是各种表达字符的
1.正则表达式的字符
任何一个字符都可以是正则表达式的字符
[abc] 表示一个字符,a或者b或者c
(b|d|rt) 表示一组字符 b或者的或者rt
[a-z] 表示任意一个小写字母
[A-Z] 表示任意一个大写字母
[0-9] 表示任意一个数字
[1-5] 表示1~5这5个数字中的某一个
[a-zA-Z0-9] 表示所有的字母和数字中的某一个
[a-m&&[h-z]] 等价于[h-m]
[^bcd] 除开abcd以外的所有字符中的一个
[ae-z]
[a-zA-Z_0-9] 所有的单词字符

预定义的字符
.   一个任意字符
\d  数字,等价于[0-9]
\D  非数字等价于[^0-9]
\w  所有的单词字符,等价于[a-zA-Z_0-9]
\W  非单词字符
\s  空白字符 空格 \t \r \n
\S  非空白字符

2.字符的数量词
用来表示字符要出现的次数
{5,10} 表示最少5次,最多10次
{5,} 表示最少5次,无上限
{5} 表示必须5次
? 表示0次或一次
* 表示0次或多次
+ 表示1次或多次

案例
x[abc]{5,10}y
x[abc]?y   可以匹配 xay  xby  xcy  xy
x[abc]+y   不能匹配 xy
            可以匹配 xabcabcy
x[abc]*y    可以匹配 xy
            可以匹配 xabcabcy



案例:
写一个用来验证邮箱是否合法的正则表达式
xxx@xxx.xxx
\w+@\w+\.\w+

xxx@xxx.xxx.xx
\w+@\w+(\.\w+){1,2}

3.懒惰性数量词和贪婪性数量词
{5,10}? 5个到10个,但尽可能少
?? 0个或者1个,但尽可能少
*? 0个或者多个,但尽可能少
+? 1个或者多个,但尽可能少

{5,10}+ 5个到10个,但尽可能多
?+  0个或者1个,但尽可能多
*+  0个或者多个,但尽可能多
++  1个或者多个,但尽可能多