正则表达式学习

对于一个经常编程的人(算不上程序员),正则表达式是一个绕不过去的坎。而往往就是这种看起来比较奇葩用起来又很关键的技术,掌握之后会发现,眼前的视野又宽阔了好多。

正则表达是包括:

  1. 界定符号
  2. 原子
  3. 元字符
  4. 量词
  5. 边界控制
  6. 模式单元
  7. 模式修正
    这么七个大的部分。

1. 界定符

在不同的语言中不一样,主要用来告诉程序语言,这一段奇怪的字符串是一串正则表达式 ,比如 / /, ##等。

2. 原子

原子式正则表达式的最小单元,每一个原子可以匹配最少一个字符,A-z,0-9,这些都属于原子。

3. 元字符

”.“ 表示匹配除换行符之外的所有字符
元字符包含原子筛选和原子集合两种

原子筛选:例如|,[], [^]

其中,|表示或者,[]表示其中的原子至少有一个可以匹配,[^]与[]相反,表示其中的原子一个都不能匹配。

原子集合:

\d表示所有数字,
\D表示除了数字以外的所有字符
\表示匹配数字,字母,下划线,

###4. 量词
{n,m}表示匹配前面的原子n到m次,
{n,}表示最少n次,
{,m}表示匹配前面的原子最多m次,
*表示匹配前面的原子0次或者无穷多次,
+表示匹配前面的原子1次或者无穷多次
?表示匹配前面的原子0次或者1次

###5. 边界控制
如果要匹配nnn,用\w+可以,但是\w+也可以匹配wwww,为了精确匹配,使用边界控制。
^ 表示正则表达式的开始。
$ 表示正则表达式的结束。
###6. 模式单元()

()表示一个模式单元,例如(abc|acb|cba)表示()中的整个的字符是一个原子,要么是abc,要么是acb或者cba,顺序不能变。

###7. 模式修正
模式修正紧跟在正则表达式后面,定界符前面(定界符可以没有),分为贪婪模式和懒惰模式,默认是贪婪模式匹配,切换为懒惰模式只需要在后面加U。
除此之外,还有一些,例如:
i:忽略大小写
s:让元字符.忽略换行符在内的所有字符
m: 将字符串视为多行,不管是哪行都能匹配

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值