正则表达式基础一

虽然做了有几年的开发了,但是对于正则表达式总是抱着直接百度的心理,没系统的学习过,最近项目需要,很多功能需要正则表达式实现,借此机会,重新学习一下,欢迎大家指正
首先在写正则表达式之前,要先了解一些常用字符的转义,否则看正则的时候一头雾水,而且看的时候还是要自己写一下可以加深理解
一、正则表达常用字符的转义
1、常用非打印字符
\f 匹配一个换页符
\n 匹配一个换行符
\r 匹配一个回车符
\s 匹配任何一个空白字符
\S 匹配任何一个非空白字符
\t 匹配一个制表符号
2、特殊字符 匹配本身前面加
$ 匹配输入字符串的结尾位置
() 标记一个子表达式的开始位置以及结束位置
* 匹配前面的子表达式0次或多次
+ 匹配前面的子表达式1次或多次
? 匹配前面的子表达式0次或1次
. 匹配除换行符 \n 之外的任何单字符。
[ 匹配一个中括号表达式的开始,匹配本身
\ 将下一个字符标记为特殊字符、原义字符等(例如\n,\)
^ 匹配输入字符串的开始位置,在方括号表达式中使用表示不接受该字符合集
{ 标记限定符表达式的开始
| 致命两项之间的一个选择
3、限定符(限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配)
3.1 * 匹配前面表达式0次或多次 **
zo*代表一个字符串后面有一个z后面跟着0个或多个o
zo*代表一个字符串后面有一个z后面跟着0个或多个o
3.2 + 匹配前面表达式1次或多次
zo+代表一个字符串包含一个z后面跟着1个或多个o
zo+代表一个字符串包含一个z后面跟着1个或多个o
3.3 ? 匹配前面表达式0次或1次 **
zo?代表一个字符串包含一个z后面跟着0个或1个0
zo?代表一个字符串包含一个z后面跟着0个或1个0
3.4 {n} n是一个
非负整数,匹配确定的n次

zo{2}代表一个字符串包含一个z跟2个o,固定的位数
匹配确定的一个z两个o
3.5 {n,} n 是一个非负整数。至少匹配n 次
zo{2,}代表一个字符串包含一个z跟至少2个o
在这里插入图片描
3.6 {n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次
zo{2,5}代表一个字符串包含一个z至少跟着2到5个o
在这里插入图片描述
4、总结以及练习
* 相当于{0,}
+ 相当于{1,}
?相当于{0,1}
. 可以替代任意字符
[] 表示一个字符在字符串中某个位置出现 注意在方括号中,不需要转义字符。
[^] 当方括号中使用 ^ ,代表不希望出现某些字符,要放在方括号第一位

   以下练习可以帮助理解
	a?b+$  	 代表一个字符串以0或1个a跟着1或多个b结尾
	{a|b}cd      代表acd或bcd
	{a|b}*c		 代表c、多个a或b跟着c
	a.[0-9]       代表一个字符串由一个a后面一个任意字符再加上一个0-9之间的数字
	^.{3}$        代表长度为3的任意3个字符
	[ab]			 代表一个字符串包含a或b
	[a-d]			 代表一个字符串包含从a到d之间任意一个字符
	[a-zA-Z]$  代表字符串以大写或小写字母开头
	@[^a-z]@          代表一个字符串中@中间的字符不能his小写字母
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值