正则表达式基本语法

正则表达式是一种字符串匹配模式或者规则,它可以用来检索、替换那些符合特定规则的文本。

正则表达式元字符

(1)元字符

元字符匹配内容
.匹配除换行符以外的任意字符
\w匹配所有普通字符(数字、字母或下划线)
\s匹配任意的空白符
\d匹配数字
\n匹配一个换行符
\t匹配一个制表符
\b匹配一个单词的结尾
^匹配字符串的开始位置
$匹配字符串的结尾位置
\W匹配非字母或数字或下划线
\D匹配非数字
\S匹配非空白符
a|b匹配字符 a 或字符 b
()正则表达式分组所用符号,匹配括号内的表达式,表示一个组。
[...]匹配字符组中的字符
[^...]匹配除了字符组中字符的所有字符

(2)量词

量词用法说明
*重复零次或者更多次
+重复一次或者更多次
重复0次或者一次
{n}重复n次
{n,}重复n次或者更多次
{n,m}重复n到m次

(3)字符组

正则待匹配字符匹配结果说明
[0123456789]8True在一个字符组里枚举所有字符,字符组里的任意一个字符
和"待匹配字符"相同都视为可以匹配。
[0123456789]qFalse由于字符组中没有 "q" 字符,所以不能匹配。
[0-9]7True也可以用-表示范围,[0-9] 就和 [0123456789] 是一个意思。
[a-z]sTrue同样的如果要匹配所有的小写字母,直接用 [a-z] 就可以表示。
[A-Z]BTrue[A-Z] 就表示所有的大写字母。
[0-9a-zA-Z]eTrue可以匹配数字,大小写形式的 a~z,用来验证十六进制字符。

贪婪模式&非贪婪模式

贪婪与非贪婪模式影响的是被量词修饰的子表达式的匹配行为,贪婪模式在整个表达式匹配成功的前提下,尽可能多的匹配,而非贪婪模式在整个表达式匹配成功的前提下,尽可能少的匹配。

贪婪模式转换为非贪婪模式的方法就是在元字符后添加“?”如下所示:

元字符(贪婪模式)非贪婪模式
**?
++?
??
{n,m}{n,m}?

正则表达式转义

使用正则表达式匹配特殊字符时需要在字符前加\表示转意常见的特殊字符如下:

* + ? ^ $ [] () {} | \

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值