正则表达式-新手笔记

正则表达式是用于查找指定文本,和基础的查找工具不同,

基础查找工具

        根据指定文字或数字进行匹配,可以使用通配符进行查找,但当数据量过于庞大时,我们又不清楚具体要查找的字符,这时就没有头绪了。

正则表达式

        可以根据字母的范围比如A-Z,数字的范围0-9来进行匹配适用于模糊查找,进阶用法包括字母或数字出现的次数来匹配。

当然,各有千秋,基础版上手容易,能满足一般用户需求。正则表达式更严谨,搜索范围更广,上手没有那么便捷。

本文章为本人阅读理解,作于笔记。

Test工具:正则表达式练习

符号定义

问号  在查找时,如果不确定某个字符是否存在,可以在该字符后面加?,表示该字符可能会出现0次或1次.

如上图所示,当我们在字符r后面跟上?,即使r有没有出现都会被匹配到。

*

星号 在查找时,不确定字符出现的次数时,可以在后面加*,以表示数量没有严格要求,可以没有,也可以有无数个。

如上图所示,当我们在字符d后面跟上*,即使d有没有出现或出现多少次都会被匹配到。

+

加号 在查找时,我们已知该字符最少出现一次,即可使用+符号。

如上图所示,当我们在字符d后面跟上+,d出现一次或以上,才会被识别。

{number}

花括号 在花括号中指定字符出现的次数

指定出现2次

指定出现1~4次

指定出现1~未知次

连续字符

当我们要搜索连续字符时,可以用括号将其包裹,代表一个整体。

我们可以清晰的发现红框处的两个ad是有色差的,识别到两个ad。

括号后面也是可以加其它符号,请在使用中进行实践。

(a|b)

或 或运算可以用来列出(可能存在的字符)。

上图可以看出来,两种结果都高亮显示。

[ab]

中括号 与或运算差不多,它会匹配a或b。

我们可以看到匹配了每个a和d

在后面加+,可以识别任意数量包括ad的字符。

[a-b]

范围查找 匹配a-b之间的字母

a-f之外的是不会被识别的,可查找的范围a-z,A-Z,0-9,

像100-200这样是不行的,但我们可以通过拼接的方式来查找。

还可以指定两个范围。

同样都能实现范围取值。

[^0-9]

标点符号 包括所有的非数字符号。

在后面加+,可以识别出现1次以上的字母或符号。

元字符

大多以反斜杠\开头,同时注意区分字母大小写,如果字母大写,结果不一样

\d

代表所有数字字符

\D 大写的话会把搜索条件反转,只查找字符、空格、换行符,将数字排外,如下图所示。

\w

字母(不区分大小写)+数字+下划线

\W 大写的话,会匹配空格、制表符(TAB)、换行符(回车)、中文标点符号。

\s

空格、制表符(TAB)、换行符(回车)

\S 大写的话会反转搜索条件。

.(句点)

句点 代表任意字符,不包括换行符。

^

尖号 后面跟上要匹配的字符,会只匹配行首的字符。

$

美元符号,在字符后面跟上美元符号,会匹配行尾的字符。

元字符功能一览表
\d\D\w\W\s\S
大写字母
小写字母
数字
中文汉字
英文符号
中文符号
特殊符号
空格
换行符
制表符

测试文本

This is a string ,can be used testing,please user input string
a show
ad show
add show
adadddddd show ad import
1998,
小写字母aabb
大写字母AABB
数字12345
英文符号, . ? ' " ; : [ ] { } \ | / ! @ % ( ) - + = ` ~
中文符号, 。 ? ‘ “ ; : 【 】 { } 、 | / ! @ % ( ) - + = · ~
特殊符号 & * …… ^ # $ 
空格      
换行

高级概念

当要匹配的文中存在 . (英文句点)时,可以通过在前面加转义字符(\)反斜杠,来让系统知道你要的是原义。

当我们要匹配html标签时,可以通过以下方式,匹配任意数量尖括号内的字符。(想详细了解去看链接视频资料)

具体其它功能需要自行在使用中才能理解。

所有的教育方式都是提供知识的基石,通过个人的探索去发现,我们不需要抓住一个点死记硬背,我们只要脑海中有这个概念,等到真正碰到问题的时候,去摸索解决方案,这个解决问题的过程和结果会在人生中留下不可磨灭的烙印。

伟大的海参祭祀曾经说过:“说教无益,折断的骨头是更好的课本”

资料来自:Bilibili-10分钟快速掌握正则表达式

  • 19
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值