'''
正则表达式是字符串处理的有力工具和技术,正则表达式使用预定义的特定模式去匹配一类具有共同特征的字符串,
主要用于字符串处理,可以快速、准确地完成复杂的查找、替换等处理要求。
正则表达式由元字符及其不同组合来构成,通过巧妙地构造正则表达式可以匹配任意字符串,并完成复杂的字符串处理任务。
'''
'''
如果以'\'开头的元字符与转义字符相同,则需要使用'\\',或者使用原始字符串。在字符串前加上字符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. 《java入门第一季》之面向对象(重头戏多态)

    接下来介绍java第三大特性--多态性 /* 多态:同一个对象(事物),在不同时刻体现出来的不同状态. 举例: 猫是猫,猫是动物. 水(液体,固体,气态). 多态的前提: A:要有继承关系. B:要有 ...

  2. 浅析GDAL库C#版本支持中文路径问题(续)

    上篇博客中主要说了GDAL库C#版本中存在的问题,其表现形式主要是:"文件名中的汉字个数是偶数,完全没有影响,读取和创建都正常,如果文件名中的汉字个数是奇数,读取和创建都会报错." ...

  3. linux C 获取当前的工作目录

    #include <stdio.h> #include <string.h> #include <unistd.h> int main(void) { char b ...

  4. Java进阶(二十)解疑答惑之何时字符串才算真正为空?

    解疑答惑之何时字符串才算真正为空? 在一次编码过程中,有一个现象一直困扰着自己,经过后台的不断调试,才发现原来有时候字符串的空非空.测试代码如下: // medname可为药品名称或药品ID Stri ...

  5. U盘无法安装win10提示Your PC/Device needs to be repaired

    前一阵子把笔记本自带的win8升级到8.1,又升级到win10. 差不多有一个月没有开机,前几天开机后进不了系统,出现如下图的提示.买电脑自带的win8是正版的,但升级到win10后就过期了,也真是坑 ...

  6. 在 ServiceModel 客户端配置部分中,找不到引用协定“XX”的默认终结点元素的解决方法

    今天在CRM2011中写Plugin的的时调用WCF报错,错误如下:"在 ServiceModel 客户端配置部分中,找不到引用协定"XX"的默认终结点元素.这可能是因为 ...

  7. 轻量级网络库libevent概况

    Libevent is a library for writing fast portable nonblocking IO. libevent是一个为编写快速可移植的非阻塞IO程序而设计的. lib ...

  8. Concurrent包常用方法简介

    1 Executor接口 留给开发者自己实现的接口,一般情况下不需要再去实现.它只有一个方法 void execute(Runnable command) 2 ExecutorService接口 它继 ...

  9. masm的一些常用编译选项

    ml命令行选项: /Dsymbol[=value] 定义给定名称的文本宏 /Fl 生成lst文件 /Sn lst文件中关闭符号表 /I 设置include文件的路径 /link 发送给link的连接器 ...

  10. 64位ubuntu安装N64模拟器mupen64

    我们知道在windows平台下模拟器多如牛毛,N64的模拟器也不例外.而linux下对于想玩N64的童鞋们有啥好办法呢?我通过度娘找到一款开源的N64模拟器mupen64,其官方网址为:http:// ...