正则表达式快速上手

一、推荐个正则表达式练习网站:regex101: build, test, and debug regexicon-default.png?t=N4P3https://regex101.com/

二、正则表达式常用的几个符号

(一)限定符 

1.

表示匹配的字符串中,?前面的字符可有可无,即?前面的字符出现0次或一次。

例子:

use a used variable name is illegal.

输入used?,可以匹配use也可以匹配used,d这个字符在匹配的字符串中可以出现0次或1次。

 

 

2.

*

表示匹配的字符串中,*前面的字符可以没有也可以出现多次。

 3.

 +:

表示匹配的字符串中,+前面的字符出现一次以上

 

4. 

{}:限定花括号前面的字符出现的次数

例子:

ab{6},匹配字符串abc,其中a和c之间的b出现6次。

例子:

 ab{2,6}c:匹配abc的字符串,其中b的个数为2-6次

 

例子:

ab{2,}c: 表示匹配的abc字符串中,b的个数为2次及以上。

 

 5.

 例子:

(ab)+表示匹配ab字符串,其中ab字符串可以出现1次或多次。

 (二)或运算符

1.

|:或运算符

例子:

a (cat|dog):匹配字符串 a cat,a dog.

2.

[]:

[]符号表示,匹配的字符只能取决于方括号里的内容

例子:

匹配由abc几个字母组成的单词,可以写成[abc]+

如下图:

 

 [a-z]+:代表匹配所有的小写字符。

 [a-zA-Z]+:表示匹配所有的大小写字符。

例子如下图所示:

 [a-zA-Z0-9]+:表示匹配所有的大小写字符和数字。

例子如下图所示:

 3.

^:脱字符

如果在方括号内容的前面我们写一个尖号(脱字符),则代表要求匹配除了尖号后面列出的【以外】的字符。

(三)元字符

另外正则表达式中其实为我们预先定义好了一系列常用的字符类型,比如数字、空白符、单词开头、结尾等等,它们被称为元字符

\d:数字字符

\w:单词字符(英文、数字及下划线)

\s:空白符(包含Tab和换行符)

\D:非数字字符

\W:非单词字符

\S:非空白字符

\b:字符的边界

.:任意字符但不包含换行符

^:匹配行首,比如^a只会去匹配行首的a 

 

$:匹配行尾,比如a$只会去匹配行尾的a

 (四)贪婪与懒惰匹配

<.+>:正则表达式中默认是贪婪匹配。

 

<.+?>:加个?,会将贪婪匹配切换为懒惰匹配。

 

 1.实例1:RGB颜色值匹配

 

2. 实例2:IPv4地址匹配

前两位是25第三位取0-5之间的数;或者,第一位是2,第二位取0-4中任意的数, 第三位取0-9中任意的数;或者,第一位取0或1中的数,第二位第三位取0-9中的数,因为一位数二位数三位数都有可能,所以在第一位和第三位都加了问号。

 

 

 

 

(五)总结

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值