文档章节

Python 的正则表达式

ricardohn
 ricardohn
发布于 2016/02/13 12:52
字数 623
阅读 8
收藏 0

First:

一些元字符则不会被作为普通字符来处理,它们包括. ^ $ * + ? { [ ] \ | ( )

.会匹配除了换行以外的任何字符;\w等价于[a-zA-Z0-9_]会匹配单一字母、数字或下划线字符,而\W则会匹配任何非字母、数字和下划线的单一字符;\b会匹配“单一字母、数字或下划线字符”和“任何非字母、数字和下划线的单一字符”之间的边界。\s等价于[ \n\r\t\f],会匹配一个空白字符(包括空格、换行、返回、制表符、表格),\S则匹配所有非空白字符;\t \n \r依次用于匹配制表符、换行符、返回符;\d等价于[0-9]用于匹配十进制表示的的数字

^作为开始标记,$作为结束标记,分别用于标记一个字符串的开始和结束的位置。\用于一些字符的转义,比如\.表示对于一个真实点字符的匹配,\\表示对于一个真实反斜杠字符的匹配等。如果你对不是很确定一些字符是否需要进行转义才能匹配,你大可都加上斜杠,比如对于@你写成\@是一定没有问题的。

Second:

正则表达式调试建议:

1、你可以设计一系列放在列表里的字符串用于调试,其中一部分是可以产生符合正则表达式的结果的,另一部分是产生不符合正则表达式的结果的。请注意,在设计这些字符串时,尽可能让他们的特征表现的更为不同一些,便于覆盖到我们可能出现的各种正则表达式没有写对的错误。例如,对于一个存在+的正则表达式,我们可以考虑选用一个符合*但是不符合+的字符串。

2、然后你可以写一个循环,依次验证每个列表内的字符串是否符合指定的某个正则表达式并且和你设定的存在另一个列表内的预期结果进行比对,如果出现了不一致的情况,则你应该考虑看看你的正则表达式是不是还需要修改,如果结果基本一致,那么我们可以考虑进一步修改我们用于调试的字符串或添加新的字符串。


本文转载自:

共有 人打赏支持
ricardohn
粉丝 1
博文 76
码字总数 30236
作品 0
成都
python测试开发自动化测试数据分析人工智能自学每周一练-2018-07

python每周一练 每周五发布python需求,所有需求都来自实际企业。下周五发布参考答案。 python测试开发自动化测试数据分析人工智能自学每周一练-2018-06 2018-07-06 使用python3 smtplib通过...

Python测试开发人工智能
07/06
0
0
超详细Python正则表达式操作指南(re使用),一

Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。Python 1.5之前版本则是通过 regex 模块提供 Emecs 风格的模式。Emacs 风格模式可读性稍差些,而且功能也不强,因此编...

Python雁横
05/26
0
0
Python 正则表达式(字符)详解

Python正则表达式 — 简介  其实正则表达式这种技术,源于一个很简单的问题:    如何通过变成使得计算机具有在文本中检索某种模式的能力?   而正则表达式为通过编程实现高级的文本模式...

jamesjoshuasss
2017/03/01
0
0
python 爬虫抓取心得分享

/ author: insun title:python 爬虫抓取心得分享 blog:http://yxmhero1989.blog.163.com/blog/static/112157956201311821444664/ / 0x1.urllib.quote('要编码的字符串') 如果你要在url请求里......

quanwei9958
2014/07/25
0
0
Python正则表达式指南(上)

正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十...

开心303
2011/07/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JS:异步 - 面试惨案

为什么会写这篇文章,很明显不符合我的性格的东西,原因是前段时间参与了一个面试,对于很多程序员来说,面试时候多么的鸦雀无声,事后心里就有多么的千军万马。去掉最开始毕业干了一年的Jav...

xmqywx
今天
0
0
Win10 64位系统,PHP 扩展 curl插件

执行:1. 拷贝php安装目录下,libeay32.dll、ssleay32.dll 、 libssh2.dll 到 C:\windows\system32 目录。2. 拷贝php/ext目录下, php_curl.dll 到 C:\windows\system32 目录; 3. p...

放飞E梦想O
今天
0
0
谈谈神秘的ES6——(五)解构赋值【对象篇】

上一节课我们了解了有关数组的解构赋值相关内容,这节课,我们接着,来讲讲对象的解构赋值。 解构不仅可以用于数组,还可以用于对象。 let { foo, bar } = { foo: "aaa", bar: "bbb" };fo...

JandenMa
今天
1
0
OSChina 周一乱弹 —— 有人要给本汪介绍妹子啦

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享水木年华的单曲《中学时代》@小小编辑 手机党少年们想听歌,请使劲儿戳(这里) @须臾时光:夏天还在做最后的挣扎,但是晚上...

小小编辑
今天
18
4
centos7安装redis及开机启动

配置编译环境: sudo yum install gcc-c++ 下载源码: wget http://download.redis.io/releases/redis-3.2.8.tar.gz 解压源码: tar -zxvf redis-3.2.8.tar.gz 进入到解压目录: cd redis-3......

hotsmile
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部