Python学习笔记(正则表达式)
2024-09-04 11:40:37
\b - 表示以什么开头或结尾
\d - 匹配数字
\w - 匹配字母或数字或下划线或汉字(我试验下了,发现3.x版本可以匹配汉字,但2.x版本不可以)
\s - 匹配任意的空白符
^ - 匹配字符串的开始
$ - 匹配字符串的结束
2.
\S其实就是\s的反义,任意不是空白符的字符。同理,还有:
\W - 匹配任意不是字母,数字,下划线,汉字的字符
\D - 匹配任意非数字的字符
\B - 匹配不是单词开头或结束的位置
[a]的反义是[^a],表示除a以外的任意字符。[^abcd]就是除abcd以外的任意字符。
3.
之前我们用过*、+、{}来表示字符的重复。其他重复的方式还有:
? - 重复零次或一次
{n,} - 重复n次或更多次
{n,m} - 重复n到m次
正则表达式不只是用来从一大段文字中抓取信息,很多时候也被用来判断输入的文本是否符合规范,或进行分类。来点例子看看:
^\w{4,12}$
这个表示一段4到12位的字符,包括字母或数字或下划线或汉字,可以用来作为用户注册时检测用户名的规则。(但汉字在python2.x里面可能会有问题)
\d{15,18}
表示15到18位的数字,可以用来检测身份证号码
^1\d*[x]?
以1开头的一串数字,数字结尾有字母x,也可以没有。有的话就带上x。
另外再说一下之前提到的转义字符\。如果我们确实要匹配.或者*字符本身,而不是要它们所代表的元字符,那就需要用\.或\*。\本身也需要用\\。
比如"\d+\.\d+"可以匹配出123.456这样的结果。
最新文章
- CefSharp 初用遇到的一些问题及解决方法
- js禁止网页使用右键
- (转) C#如何使用异步编程
- iOS7 中的新加入的下载类NSURLSession(随ios版本更新而更新)
- 使用Socket进行通信
- OpenJudge计算概论-能被3,5,7整除的数
- 【32】确定你的public继承塑模出Is-A关系
- 修改Activity的继承类导致程序闪退
- 工信部表态支持Linux,可是Linux又是什么呢?
- Android必知必会-Stetho调试工具
- 开源RPC(gRPC/Thrift)框架性能评测
- Linux基本操作——文件相关
- 封装7z软件实现批量文件或目录压缩
- php 表单提交方法
- [ONTAK2010]Peaks kruskal重构树,主席树
- Fibonacci数列时间复杂度之美妙
- Windows服务器PHPstudy配置安装微擎教程
- java String标准格式转换Date(yyyy-MM-dd HH:mm:ss)
- 用canvas画布画一个画板
- word批量转pdf文件快捷方法。