RegExp01_基本概念

本文介绍了正则表达式的基本概念,包括其作为文本内容校验、提取和处理工具的功能。通过分解问题、分析子问题、构建正则表达式模型和调试过程来学习正则。强调在使用正则时应保持代码可读性,避免过度复杂化,并给出了学习正则的资源链接。
摘要由CSDN通过智能技术生成
写在前面

正则表达式课程网址:极客时间涂老师 - 《正则表达式入门课》
在线测试正则表达式:RegExp101
本博客主要根据上述视频学习记录


一、基本概念

定义
正则是描述文本内容组成规律的表达方式,用来简化文本处理的逻辑。

为什么用(主要功能)

  1. 校验文本内容(如校验手机号、邮箱)
  2. 提取文本内容(如查找符合某规则的号码)
  3. 替换、切割文本内容(如用连续的空白符切割)

怎么用
用正则表达式解决问题时,能遵循下面流程,或达到无招胜有招的程度

  • 第一步,分解。拿到问题先思考,问题分为几个子问题,每个子问题是否独立。例如:邮件匹配,分为:“username + @ + domain name”这三个独立的部分。

  • 第二步,分析各个子问题。某个位置上可能有多个字符?那就用字符组。某个位置上可能有多个字符串?那就用多选结构。出现的次数不确定?那就用量词。对出现的位置有要求?那就用锚点锁定位置……
    某种程度上,这就像武术里的见招拆招,每个问题都有对应的解法,只要熟练掌握了,知道什么时候用字符组,什么时候用多选结构,什么时候用量词,什么时候用锚点,就很容易搭建起完整的概念模型。

  • 第三步,套皮。方括号、星号、花括号。要知道,这些典型标志无非只是一些符号而已,真正重要的是字符组、多选结构、量词等等这些概念。一旦你的概念模型清楚了,写出正则表达式就非常简单了,无非是查阅语法手册,把之前得到的概念模型按照对应语言或工具的约定写下来而已。

  • 第四步,调试。复杂⼀点的正则表达式不能⼀次写对,这是很正常的。

  • 另外”:学会了正则表达式之后,务必要保持克制 。从软件工程的角度来看,“写⼀条其他⼈看不懂的正则表达式,⼀次性解决所有问题”,这种办法绝对是噩梦,不但其他人无法理解,自己过⼀段时间也会挠头。
    如何克制:

    • 第⼀,能用普通字符串处理的,坚决⽤普通字符串处理。
    • 第⼆,能写注释的正则表达式,⼀定要写注释。
    • 第三,能用多个简单正则表达式解决的,⼀定不要苛求用一个复杂的正则表达式。

参考链接:CSDN - 正则表达式(一)基本概念

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值