正则表达式系列 (一)

本文是正则表达式系列的第一部分,旨在帮助初学者理解正则的基本概念和用法。介绍了学习正则的重要性,基础介绍包括定义、字符组、量词等,并强调了元字符和转义字符的作用。同时提供了一些学习资源和在线实践平台。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文是本系列第一部分,后续预计还有3-5篇

学习初衷

如果说设计模式是内功修炼的无上心法,那么正则就是外功横练的不二法门。

最早听到正则这个词是大二时观摩别人的爬虫代码里,对那么一串花里胡哨的字符串惊为天人。再之后多次遇到使用的机会,却苦于不会遗憾收场(有好几次被妹子请教,然后不会...)

有很多大佬程序员不屑于正则,随口就是说,“正则不是30分钟随便看看就会了吗?!”,每次听到都对我脆弱的心灵造成难言的伤害。虽然正则确实比不上大雅之堂的深邃知识,但却是难倒英雄汉的那一分钱。

所以开个正则系列,冲冲冲~

写给小白的基础介绍

定义:正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子

对于编码来说,正则表达式就是个字符串,只是构建这个字符串时需要使用特定的“单词”,遵循一定的“语法”。之后由各个编程语言的核心库函数去解析这个字符串,(如python中的re.search,java中的str.match)

根据解析结果获得一个筛选条件,拿着这个条件去待匹配文本中,挨个字符去判断(这里只是表述个意思,真实的匹配过程不一定这样)。如果在文本中找到了一个子串符合条件,就返回true,反之返回false/None

 #python
 import re
 #search函数第一个参数是正则表达式,第二个是待匹配文本
 re.search("^[a-z0-9_]{3,15}$","ljjliujunjie123")

上面这行代码中,^ [ ] - , { } $ ,这些字符就是正则表达式中的单词,且这些单词都有一定的特殊含义,就像英语中的to/for/as这些介词一样,没有太明确的意思,但是可以和普通单词构成短语。而a z 0 9 _ 3 15这些就是普通的单词,表达的就是字面意思,依次是字母a,z,数字0,9,下划线,数字3和15。这些单词组合起来的这句正则,意思就是"判断文本是不是由a到z这26个字母,和0到9这10个数字,以及下划线,组成的长度在3到15闭区间范围的一个字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值