'''
正则表达式是字符串处理的有力工具和技术,正则表达式使用预定义的特定模式去匹配一类具有共同特征的字符串,
主要用于字符串处理,可以快速、准确地完成复杂的查找、替换等处理要求。
正则表达式由元字符及其不同组合来构成,通过巧妙地构造正则表达式可以匹配任意字符串,并完成复杂的字符串处理任务。
'''
'''
如果以'\'开头的元字符与转义字符相同,则需要使用'\\',或者使用原始字符串。在字符串前加上字符r或R之后表示原始字符串,字符串中任意字符都不再进行转义。
原始字符可以减少用户的输入,主要用于正则表达式和文件路径字符串的情况,但如果字符串以一个斜线'\'结束,则需要多写一个斜线,即以'\'结束
'''
#sample
'''
(1)最简单的正则表达式是普通字符串,智能匹配自身。
(2)'[pjc]ython' 可以匹配'python'、'jython'、'cython'
(3)'[a-zA-Z0-9]'可以匹配一个任意大小写字母或数字
(4)'[^abc]'可以一匹配任意除'a'、'b'、'c'之外的字符
(5)'python|perl'或'p(ython|erl)'都可以匹配'python'或'perl'
(6)子模式后面加上问号表示可选。r'http://'? (www\.)? python\. org只能匹配http://www.python.org、www.python.org、python.org、http://python.org
(7)'^http'只能匹配所有以'http'开头的字符串
(8)(pattern)*:允许模式重复0次或多次
(9)(pattern)+:允许模式重复1次2或多次
(10)(pattern){m,n}:允许模式重复m~n次
(11)'(a|b)*c':匹配多个(包含0个)a或b,后面紧跟一个字母c
(12)'ab{1,}':等价于'ab+',匹配以字母a开头后面带1个或多个字母b的字符串
(13)'^[a-zA-Z]{1}([a-zA-Z0-9._]){4,19}$',匹配长度5~20的字符串,必须以字母开头,可带数字、'-'、'.'的字符串
(14)'^(\w){6,20}$':匹配长度为6~20的字符串,可以包含字母、数字、下划线
(15'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$':检查给定字符串是否为合法IP地址
(16)'^(13[4-9]\d{8})|(15[01289]\d{8})$':检查给定的字符串是否为移动手机号码
(17)'^[a-zA-Z]+$':检查给定字符串是否只包含英文字母大小写
(18)'^\w+@(\w+\.)+\w+$':检查给定字符串是否为合法电子邮箱地址
(19)'^(\-)? \d+(\.\d{1,2})?$':检查给定字符串是否为最多带2位小数的正数或负数
(20)'[\u4e00-\u9fa5]':匹配给定字符串中的所有汉字。
(21)'^\d{18}|\d{15}$':检查给定字符串是否为合法身份证格式
(22)'\d{4}-\d{1,2}-\d{1,2}':匹配指定格式的日期,例如2017-6-8
(23)'^(? = .*[a-z])(? =.*[A-Z])(? =.*\d)(? =.*[,._]).{8,}$':检查给定字符串是否为强密码,必须同时包含英文大写字母,英文小写字母、数字或特殊符号(如英文逗号、英文句号、下划线),并且长度至少8位
(24)'(?!.*[\'\"/;=%?]).+':如果给定字符串中包含'\"\/\;\=,%\?则匹配失败
(25)'(.)\\1+':匹配任意字符的一个或多次出现
(26)'(? P<f>\b\w+\b)\s+(? P=f)':匹配连续出现两次的单词
'''

Python_正则表达式样例的更多相关文章

  1. JMeter入门(01)概念和样例

    一.概念 JMeter 是一款专门用于功能测试和压力测试的轻量级测试开发平台,实现了许多和互联网相关的网络测试组件,同时还保留着很强的扩展性. JMeter可以用来测试诸如:静态文件,Java Ser ...

  2. PAT 1024 科学计数法 (20)(精简版代码+思路+推荐测试样例)

    1024 科学计数法 (20)(20 分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+, ...

  3. Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G

    code&monkey   Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...

  4. Scala学习十四——模式匹配和样例类

    一.本章要点 match表达式是更好的switch,不会有意外调入下一个分支 如果没有模式能够匹配,会抛出MatchError,可以用case _模式避免 模式可以包含一个随意定义的条件,称做守卫 你 ...

  5. C++的性能C#的产能?! - .Net Native 系列《三》:.NET Native部署测试方案及样例

    之前一文<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥> 获得很多朋友支持和鼓励,也更让我坚定做这项技术的推广者,希望能让更多的朋友了解这项技术,于是先从官方 ...

  6. MarkDown+LaTex 数学内容编辑样例收集

    $\color{green}{MarkDown+LaTex 数学内容编辑样例收集}$ 1.大小标题的居中,大小,颜色 [例1] $\color{Blue}{一元二次方程根的分布}$ $\color{R ...

  7. 33个超级有用必须要收藏的PHP代码样例

    作为一个正常的程序员,会好几种语言是十分正常的,相信大部分程序员也都会编写几句PHP程序,如果是WEB程序员,PHP一定是必备的,即使你没用开发过大型软件项目,也一定多少了解它的语法. 在PHP的流行 ...

  8. 关于peersim样例配置文件的超详细解读(新手勿喷)

    相信很多兄弟一开始接触peersim,对配置文件还是有点不适应,我看了好久的样例的配置文件,一层层去找对应的文件的方法,终于好像悟懂了一点,记下来以后回顾. 贴上代码,一点点分析. 首先要说下所谓的配 ...

  9. hdu 1003 MAX SUM 简单的dp,测试样例之间输出空行

    测试样例之间输出空行,if(t>0) cout<<endl; 这样出最后一组测试样例之外,其它么每组测试样例之后都会输出一个空行. dp[i]表示以a[i]结尾的最大值,则:dp[i ...

随机推荐

  1. python的list

    1.定义list >>> li = ["a", "b", "mpilgrim", "z", " ...

  2. 《java入门第一季》之面向对象(接口收尾)

    通过案例的形式,结束接口部分. /* 猫狗案例,加入跳高的额外功能 分析:从具体到抽象 猫: 姓名,年龄 吃饭,睡觉 狗: 姓名,年龄 吃饭,睡觉 由于有共性功能,所以,我们抽取出一个父类: 动物: ...

  3. C 打印格式小记

    转自:http://blog.csdn.net/fivedoumi/article/details/7077504 d,lx,ld,,lu,这几个都是输出32位的 hd,hx,hu,这几个都是输出16 ...

  4. OpenCV OpenGL手写字符识别

    另外一篇文章地址:这个比较详细,但是程序略显简单,现在这个程序是比较复杂的 http://blog.csdn.net/wangyaninglm/article/details/17091901 整个项 ...

  5. objc一个NetConnector类示例

    NetConnector是自定义的一个类,该类使用代理的方法实现异步下载特定url页面的内容. HyNetConnector.h // // HyNetConnector.h // HyNetConn ...

  6. Leetocde_242_Valid Anagram

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/48979767 Given two strings s an ...

  7. JSP 分页显示数据 (Oracle)

    要实现分页,首先我们要做的就是如何来编写SQL语句,网上也有很多,大家可以搜一下.在这里,我们使用一种比较常用的方式来编写SQL语句.代码如下: ----分页显示 select * from (sel ...

  8. 2018年,请不要再使用OLE生成EXCEL文件

    输出EXCEL文件是ABAP开发工作中的常见需求,为了学习相关技术,我翻译过一篇文章:使用OLE2对象创建EXCEL文件,并且一度乐在其中. 最近几个月,经过与若干EXCEL打印程序的艰苦斗争,以及对 ...

  9. java——封装和关键字

    封装:将类的属性和方法的实现细节隐藏起来的过程 封装的好处:1重用性(代码)2,利于分工3,隐藏细节 访问关键字:public private 默认访问修饰符,protected static关键字 ...

  10. 关于mybatis更新数据的问题

    前两天用mybatis的时候,发现这样一个问题,日志显示mytatis更新数据已经成功了,但是实际上数据库是没有更新到的,经过一番查找,发现mybatis更新的时候默认返回的是查找到的数据(Rows  ...