加入收藏 | 设为首页 | 会员中心 | 我要投稿 上饶站长网 (https://www.0793zz.com.cn/)- 数据库平台、视觉智能、智能搜索、决策智能、迁移!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

Python正则表达式急速入门

发布时间:2019-12-14 00:02:41 所属栏目:Unix 来源:站长网
导读:副标题#e# 【51CTO.com原创稿件】正则表达式在程序开发中会经常用到,比如数据(格式)验证、替换字符内容以及提取字符串内容等等情况都会用到,但是目前许多开发人员对于正则表达式只是处于了解或者是基本会用的阶段。一旦遇到大批量使用正则表达式的情况
副标题[/!--empirenews.page--]

Python正则表达式急速入门

【51CTO.com原创稿件】正则表达式在程序开发中会经常用到,比如数据(格式)验证、替换字符内容以及提取字符串内容等等情况都会用到,但是目前许多开发人员对于正则表达式只是处于了解或者是基本会用的阶段。一旦遇到大批量使用正则表达式的情况(例如网络爬虫)可以说基本上就抓瞎了。这篇文章我将带领大家利用 Python 来学习一下正则表达式。在阅读这篇文章前你需要掌握 Python 基础知识,或者具有其他开发语言的基础知识也可以,因为基本上每种语言使用正则表达式的方式都是类似的。

零、正则表达式基础

1.提取字符(串)有时我们需要从一个字符串中获取一段内容,这段内容可能是一个字符也可能是一段字符串,如果用逐字对比遍历的话不仅耗时耗力而且还容易出错。那么这个时候我们就可以用到正则表达式中的 字符匹配 功能。正则表达式为我们提供了 4 种字符匹配的方法,见下表: 

语法 说明 例子 可匹配字符串
.   匹配除了换行符 “n” 以外的任意字符   a.b   acb、adb、a2b、a~b  
  转义,将转移字符后面的一个字符改变原来的意思   a[b.]c   abc、a.c、ac  
[]   匹配括号内的任意字符   a[b,c,d,e]f   abd、acf、adf、aef  
[^]   除了括号内的字符外,其他的字符都匹配   aa,b,c,d,ef   a1f、a#f、azf、agf  

2.预定义字符所谓预定义字符就是正则表达式中为我们预留的专门用来匹配格式化内容的字符,例如匹配数字用的 d 和匹配空白符的 s 等等。我们可以利用预定义字符快速的匹配出一个字符串中符合要求的内容。预定义字符匹配的内容,同样也可以利用前面所讲的字符匹配的方式匹配出来,但是代码量会相对来说多一点。下表所列的就是预定义字符: 

语法 说明 例子 可匹配字符串
^   以什么字符串开始   ^123   123abc、123321、123zxc  
$   以什么字符串结尾   123$   abc123、321123、zxc123  
b   匹配单词边界,不匹配任何字符   basdb   asd  
d   匹配数字0-9   zxdc   zx1c、zx2c、zx5c  
D   匹配非数字   zxDc   zxvc、zx$c、zx&c  
s   匹配空白符   zxsc   zx c  
S   匹配非空白符   zxSc   zxac、zx1c、zxtc  
w   匹配字母、数字和下划线   zxwc   zxdc、zx1c、zx_c  
W   匹配非字母、数字和下划线   zxWc   zx c、zx$c、zx(c  

在预定义字符中有如下几点需要注意:

b 匹配的只是一个位置,这个位置的一侧是构成单词的字符,另一侧为非单词字符、字符串的开始或结束位置。b 是零宽度。

(编辑:上饶站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读