Python_正则表达式样例
'''
正则表达式是字符串处理的有力工具和技术,正则表达式使用预定义的特定模式去匹配一类具有共同特征的字符串,
主要用于字符串处理,可以快速、准确地完成复杂的查找、替换等处理要求。
正则表达式由元字符及其不同组合来构成,通过巧妙地构造正则表达式可以匹配任意字符串,并完成复杂的字符串处理任务。
'''
'''
如果以'\'开头的元字符与转义字符相同,则需要使用'\\',或者使用原始字符串。在字符串前加上字符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_正则表达式样例的更多相关文章
- JMeter入门(01)概念和样例
一.概念 JMeter 是一款专门用于功能测试和压力测试的轻量级测试开发平台,实现了许多和互联网相关的网络测试组件,同时还保留着很强的扩展性. JMeter可以用来测试诸如:静态文件,Java Ser ...
- PAT 1024 科学计数法 (20)(精简版代码+思路+推荐测试样例)
1024 科学计数法 (20)(20 分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+, ...
- Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G
code&monkey Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...
- Scala学习十四——模式匹配和样例类
一.本章要点 match表达式是更好的switch,不会有意外调入下一个分支 如果没有模式能够匹配,会抛出MatchError,可以用case _模式避免 模式可以包含一个随意定义的条件,称做守卫 你 ...
- C++的性能C#的产能?! - .Net Native 系列《三》:.NET Native部署测试方案及样例
之前一文<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥> 获得很多朋友支持和鼓励,也更让我坚定做这项技术的推广者,希望能让更多的朋友了解这项技术,于是先从官方 ...
- MarkDown+LaTex 数学内容编辑样例收集
$\color{green}{MarkDown+LaTex 数学内容编辑样例收集}$ 1.大小标题的居中,大小,颜色 [例1] $\color{Blue}{一元二次方程根的分布}$ $\color{R ...
- 33个超级有用必须要收藏的PHP代码样例
作为一个正常的程序员,会好几种语言是十分正常的,相信大部分程序员也都会编写几句PHP程序,如果是WEB程序员,PHP一定是必备的,即使你没用开发过大型软件项目,也一定多少了解它的语法. 在PHP的流行 ...
- 关于peersim样例配置文件的超详细解读(新手勿喷)
相信很多兄弟一开始接触peersim,对配置文件还是有点不适应,我看了好久的样例的配置文件,一层层去找对应的文件的方法,终于好像悟懂了一点,记下来以后回顾. 贴上代码,一点点分析. 首先要说下所谓的配 ...
- hdu 1003 MAX SUM 简单的dp,测试样例之间输出空行
测试样例之间输出空行,if(t>0) cout<<endl; 这样出最后一组测试样例之外,其它么每组测试样例之后都会输出一个空行. dp[i]表示以a[i]结尾的最大值,则:dp[i ...
随机推荐
- 网站开发进阶(二十九)HTML特殊转义字符
HTML特殊转义字符 参考文献 http://tool.oschina.net/commons?type=2 美文美图
- Leetcode_154_Find Minimum in Rotated Sorted Array
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/43416613 Suppose a sorted array ...
- IP协议详解(转)
本文转载自博文协议森林05 我尽力 (IP协议详解).这篇博文写的很有趣味,特转载! IPv4与IPv6头部的对比 我们已经在IP接力中介绍过,一个IP包分为头部(header)和数据(payload ...
- linux命令大全(自己慢慢看)
http://blog.zol.com.cn/874/article_873769.html rm -rf mydir /* 删除mydir目录 */ cd mydir /* 进入mydir目录 */ ...
- 任务管理器中的PID找不到
PID是Process ID的简称,这对WINDOWS开发人员来说是非常有用的信息,但对于普通用户来说则根本不必去理会. 举个例子来说: 在网站发布的时候,需要安装IIS,那么iis的tcp的80 ...
- Java进阶(十五)Java中设置session的详细解释
Java中设置session的详细解释 简单通俗的讲session就是象一个临时的容器,用来存放临时的东西.从你登陆开始就保存在session里,当然你可以自己设置它的有效时间和页面,举个简单的例子: ...
- iOS监听模式系列之键值编码KVC、键值监听KVO的简单介绍和应用
键值编码KVC 我们知道在C#中可以通过反射读写一个对象的属性,有时候这种方式特别方便,因为你可以利用字符串的方式去动态控制一个对象.其实由于ObjC的语言特性,你根部不必进行任何操作就可以进行属性的 ...
- 使用IO映射的方式获取tiny4412板子上的ID号
在以前的文章中,有一篇 基于ARM-contexA9-Linux驱动开发:如何获取板子上独有的ID号 在那篇文章中,具体可以参考.那时候我使用了简单的字符设备驱动框架,最终的ID号通过read方法可将 ...
- The 12th tip of DB Query Analyzer, powerful in text file process
MA Gen feng ( Guangdong Unitoll Services incorporated, Guangzhou 510300) Abstract It's very powerf ...
- oracle的for和i++
很长时间没用oracle的储存了,这次用到一次i++i++的sql语句:declarei_1 number(30) :=0;begin i_1 :=i_1+1;//i_1=1 insert into ...