正则表达式基础知识

1.字符组 [] 允许匹配一组可能出现的字符。

2.字符数组开头使用 ^ 字符实现取反操作,从而可以反转一个字符组(意味着会匹配任何指定字符之外的所有字符)

3.正则表达式引擎在字符组中使用连字符(-)代表区间,依照这个规则,我们可以总结出三点:
要匹配任意数字可以使用[0-9];
如果想要匹配所有小写字母,可以写成[a-z];
想要匹配所有大写字母可以写成[A-Z]。

4.在正则中使用 \ 就可以进行对特殊符号进行转义,对 - 进行转义就可以表示为 \-,即 \- 就代表了 - 号本身。因为正则表达式中()代表分组,所以如果要匹配()就需要将使用转义符\,例如要匹配)就要写成 \)
5.几种快捷方式:
\d   数字
\w  数字,字母
\s  空格
\b  单词边界
快捷方式可取反,换成大写字母即可
注:^在[]里表示取反,^字符在[]外表示匹配已该字符开头的
6.

字符$表示匹配以该字符结尾的
.代表任意单个字符,它只能出现在方括号以外,     .字符只有一个不能匹配的字符,也就是换行符(\n)
字符?指定一个字符、字符组或其他基本单元可选,这意味着正则表达式引擎将会期望该字符出现零次或一次。
常用组合:.?
7.在一个字符组后加上{N} 就可以表示在它之前的字符组出现N次。

{x}:x个

{m,}:至少m个

{m,n}:至少m个,至多n个
\d{3,4} 既可以匹配3个数字也可以匹配4个数字,不过当有4个数字的时候,优先匹配的是4个数字,这是因为正则表达式默认是贪婪模式,即尽可能的匹配更多字符,而要使用非贪婪模式,我们要在表达式后面加上 ?号。
还可以使用两个速写字符指定常见的重复情况,可以使用 + 匹配1个到无数个,使用 *代表0个到无数个。即:+等价于{1,},*等价于{0,}。


8.在正则表达式中还提供了一种将表达式分组的机制,当使用分组时,除了获得整个匹配。还能够在匹配中选择每一个分组。要实现分组很简单,使用()即可。
使用分组的同时还可以使用 或者(or)条件。例如要提取所有图片文件的后缀名,可以在各个后缀名之间加上一个 |符号:

9.有时候,我们并不需要捕获某个分组的内容,但是又想使用分组的特性。这个时候就可以使用非捕获组(?:表达式),从而不捕获数据,还能使用分组的功能。

10.如果想让后面分组的正则和第一个分组的正则匹配同样的数据,可以使用分组的回溯引用,使用\N可以引用编号为N的分组
 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值