一、正则表达式匹配IP地址

1、search()方法:用于在字符串中搜索正则表达式模式第一次出现的位置

>>> import re
>>> re.search(r'chen','I love chenfeng')
<re.Match object; span=(, ), match='chen'>
>>> '''
|-- span(,):chen 下标在7到11的位置出现
'''

2、正则表达式中的“.”表示除了换行符中的所有字符 即:通配符

>>> re.search(r'.','I love chenfeng!')
<re.Match object; span=(, ), match='I'> >>> re.search(r'chen.','I love chen.feng.com')
<re.Match object; span=(7, 12), match='chen.'

3、匹配点号如何做处理呢,只需要在点号前面加上反斜杠“\”,这时候点号不代表任何字符,只代表点号自己

>>> re.search(r'\.','I love chen.feng.com!')
<re.Match object; span=(, ), match='.'>

4、匹配数字:反斜杠+d   :  " \d  "

>>> re.search(r'\d','I love 123chenfeng.com!')
<re.Match object; span=(, ), match=''>
>>> re.search(r'\d\d\d','I love 123chenfeng.com!')
<re.Match object; span=(, ), match=''>
>>>

5、匹配IP地址

>>> re.search(r'\d\d\d\.\d\d\d.\d\d\d.\d\d\d','192.168.111.123')
<re.Match object; span=(, ), match='192.168.111.123'>
>>>
这样匹配的问题是:
1、d匹配的数字范围是0~9,而IP的最大范围是255
2、这里要求每一组的IP地址必须是三个数字,如果遇到192.168.1.1这样的IP地址就没办法匹配成功 改进的方法:
1>、用中括号" [] "创建字符类
举例匹配 I love chenfeng.com  字符串中的l
>>> re.search(r'[a-z]','I love 123chenfeng.com!')
<re.Match object; span=(2, 3), match='l'>

举例匹配“I love 123chenfeng.com ” 字符串中的1
>>> re.search(r'[0-9]','I love 123chenfeng.com!')
<re.Match object; span=(7, 8), match=''>
>>>

2>、限定重复匹配的次数 可以用大括号:{}

>>> re.search(r'ab{3}c','abbbc')
<re.Match object; span=(0, 5), match='abbbc'>
>>> re.search(r'ab{3}c','abbbbbbc')
匹配不了的可以用范围进行匹配
>>> re.search(r'ab{0,9}c','abbbbbbc')
<re.Match object; span=(0, 8), match='abbbbbbc'>
>>>

3、匹配0~255的数字

>>> re.search(r'[01]\d\d|2[0-4]\d|25[0-5]','')
<re.Match object; span=(0, 3), match=''>
>>> “[01]\d\d|2[0-4]\d” 中的“|”是“或”的含义,或者[01]\d\d成立,或者2[0-4]\d成立,或者25[05]成立,其中任何一个成立都是可以的
[01]\d\d : 百位数字是0或者1的话,十位和各位可以是任何数字
2[0-4]\d :百位是2,十位是0~5,则各位可以是任何数字
25[05] :百位是2,十位是5,则各位只能是0~5的数字

4、匹配IP地址

>>> re.search(r'(([01]{0,1}\d{0,1}\d|2[0-4]\d|25[05])\.){3}([01]{0,1}\d{0,1}\d|2[0-4]\d|25[05])','191.168.1.1')
<re.Match object; span=(0, 11), match='191.168.1.1'>
>>>
 

【Python57--正则1】的更多相关文章

  1. Javascript正则对象方法与字符串正则方法总结

    正则对象 var reg = new Regexp('abc','gi') var reg = /abc/ig 正则方法 test方法(测试某个字符串是否匹配) var str = 'abc123'; ...

  2. C#-正则,常用几种数据解析-端午快乐

    在等待几个小时就是端午节了,这里预祝各位节日快乐. 这里分享的是几个在C#中常用的正则解析数据写法,其实就是Regex类,至于正则的匹配格式,请仔细阅读正则的api文档,此处不具体说明,谢谢. 开始吧 ...

  3. Javascript 中 with 的替代方案和String 中的正则方法

    这几天在升级自己的MVVM 框架,遇到很多小问题,就在这里统一解决了. with 语法 在代码中,要执行这么一个函数 function computeExpression(exp, scope) { ...

  4. JavaScript与PHP中正则

    一.JavaScript 有个在线调试正则的工具,点击查看工具.下面的所有示例代码,都可以在codepen上查看到. 1.创建正则表达式 var re = /ab+c/; //方式一 正则表达式字面量 ...

  5. Java正则速成秘籍(一)之招式篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  6. Java正则速成秘籍(二)之心法篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  7. Java正则速成秘籍(三)之见招拆招篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  8. python浅谈正则的常用方法

    python浅谈正则的常用方法覆盖范围70%以上 上一次很多朋友写文字屏蔽说到要用正则表达,其实不是我不想用(我正则用得不是很多,看过我之前爬虫的都知道,我直接用BeautifulSoup的网页标签去 ...

  9. [Python基础知识]正则

    import re str4 = r"^http://qy.chinahr.com/cvm/preview\?cvid=\w{24,25}&from=sou&gtid=\w{ ...

  10. iOS中使用正则

    一.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...

随机推荐

  1. ecshop 订单状态

    ecshop的订单状态都是在ecs_order_info表中的字段里. 订单状态 未确认 取消 确认 已付款 配货中 已发货 已收货 退货 order_status 0 2 1 1 1 5 5 4 s ...

  2. SQL中的关联更新和关联删除

    在SQL中,经常用到关联查询,比如select a.* from A a inner join B b on a.PId=b.FId where 条件,SQL中也支持类似的关联更新和关联删除. 关联更 ...

  3. hdu4749 kmp改进

    这题说的是给了一个模板串 然后又给了一个串 需要找出类似的按个模板串 , 改相等的位置要相等 该大于的位置到大于 我们将模板串做好失配指针就ok了,然后匹配和原来的匹配不同,这个匹配需要的是相对匹配, ...

  4. 泛型List、HashTable

    从最开始接触的数组,到非泛型集合类(ArrayList.HashTable.Queue.Stack).泛型集合类(List<T>.Dictionary<T>.Queue< ...

  5. FastDFS:Java客户都实现文件的上传、下载、修改、删除

    客户端版本:fastdfs_client_v1.24.jar 配置文件 connect_timeout = 200 network_timeout = 3000 charset = UTF-8 htt ...

  6. Linux基础命令---文本过滤coi

    col 过滤掉影响阅读的控制字符,使用重定向符把说明手册的内容输出到文本文件时,控制字符就成乱码.col指令可以过滤掉控制字符,使文本可读.col从标砖输入读取内容,输出到标准输出.col在读取字符时 ...

  7. AtCoder Beginner Contest 084(AB)

    A - New Year 题目链接:https://abc084.contest.atcoder.jp/tasks/abc084_a Time limit : 2sec / Memory limit  ...

  8. [转载]转,Oracle中关于处理小数点位数的几个函数,取小数位数,Oracle查询函数

    关于处理小数点位数的几个oracle函数() 1. 取四舍五入的几位小数 select round(1.2345, 3) from dual; 结果:1.235 2. 保留两位小数,只舍 select ...

  9. js获取浏览器信息

    function message() { txt = "<p>浏览器代码名: " + navigator.appCodeName + "</p>& ...

  10. TF-IDF基本原理

    1.TF-IDF介绍 TF/IDF(term frequency–inverse document frequency)用以评估字词 对于一个文件集其中一份文件的重要程度.字词的重要性随着它在文件中出 ...