正则表达式与Python语言
来源:互联网 发布:物业投标书网络范围 编辑:程序博客网 时间:2024/05/17 03:28
简单介绍一下Python中的默认正则表达式模块re模块
函数/方法
描述
compile(pattern,flags=0)
对正则表达式pattern进行编译,flags是可选标志符,并返回一个regex对象
match(pattern,string,flags=0)
尝试用正则表达式模式pattern匹配字符串string,flags是可选标志符,如果匹配成功,则返回一个匹配对象;否则返回none
search(pattern, string, flags=0)
在字符串string中查找正则表达式模式pattern的第一次出现,flags是可选标志符,如果匹配成功,则返回一个匹配对象;否则返回none
findall(pattern, string[,flags])
在字符串string中查找正则表达式模式pattern的所有(非重复)出现;返回一个匹配对象的列表
finditer(pattern,string[,flags])
和findall()相同,但返回的不是列表而是迭代器;对每一个匹配,该迭代器返回一个匹配对象
split(pattern, string, max=0)
根据正则表达式pattern中的分隔符把字符string分割为一个列表,返回成功匹配的列表,最多分割max次(默认是分割所有匹配的地方)
sub(pattern, repl, string, max=0)
把字符串string中所有匹配正则表达式pattern的地方替换成字符串repl,如果max的值没有给出,则对所有匹配的地方进行替换(也可以参考subn())
group(num=0)
返回全部匹配对象(或指定编号是num的子组)
- 用match()匹配字符串
即便字符串比模式要长,匹配也可能成功;只要模式是从字符串的开始进行匹配的。也可以利用面向对象的特性,间接省略中间结果:
- search()在一个字符串中查找一个模式 (搜索与查找的区别)
- 匹配多个字符串(|)
- 匹配任意单个字符(.)
- 创建字符集合([ ])
- 重复,特殊字符和子组
- 从字符串的开头或结尾匹配及在单词边界上的匹配
下面介绍了锚点性正则表达式操作符。这些锚点性正则表达式操作符主要被用于搜索而不是匹配。
- 用findall()找到每个出现的匹配部分
- 用sub(),subn() 进行搜索和替换
用split()分割
我们可以发现re.split()是一个非常强大的工具,我们可以用它来分析一个linux查询登录用户的数据。
我们先看一下在linux上运行who之后的内容,我把结果存到一个txt文件里
wesc pts/0 2017-12-19 15:31 (10.255.6.83)wesc pts/1 2017-12-19 10:18 (10.255.6.18)wesc pts/3 2017-12-19 13:31 (10.255.6.39)wesc pts/4 2017-12-19 15:36 (10.255.6.83)wesc pts/5 2017-12-19 15:39 (10.255.6.76)wesc pts/6 2017-12-19 15:48 (10.255.6.34)
对这个文件进行分析
#!/usr/bin/ env python#coding=utf-8import ref = open('whodata.txt', 'r')lines = f.readlines()for eachLine in lines: print (re.split('\s\s+', eachLine))f.close()
['wesc', 'pts/1', '2017-12-19 10:18 (10.255.6.18)\n']
['wesc', 'pts/3', '2017-12-19 13:31 (10.255.6.39)\n']
['wesc', 'pts/4', '2017-12-19 15:36 (10.255.6.83)\n']
['wesc', 'pts/5', '2017-12-19 15:39 (10.255.6.76)\n']
['wesc', 'pts/6', '2017-12-19 15:48 (10.255.6.34)']
Process finished with exit code 0
- 正则表达式与Python语言
- 正则表达式与python
- Python与正则表达式
- 正则表达式与Python
- python与正则表达式
- python 字符串与正则表达式
- python字符串与正则表达式
- 正则表达式与python re
- notepad++ 正则表达式与python
- Python语言中的正则表达式学习
- Python学习笔记<正则表达式与python>
- python中正则表达式与re 模块
- python中正则表达式与re 模块
- Python字符编码与正则表达式指南
- python与正则表达式 re模块
- python中正则表达式与re 模块
- Python字符编码与正则表达式指南
- python中的正则表达式笔记与总结
- mysql的时间和字符串的转换
- Mac下ssh和sftp的使用
- 常用工具类(一)
- c++11实现线程池
- hive IllegalArgumentException ! event not found
- 正则表达式与Python语言
- angular JS简单实现购物车功能
- redis-desktop-manager-0.8.3 for mac
- 如何配置Apache Solr6.6版本
- ffmpeg解码音频的两种方式(二)根据同步字节解析音频帧
- Redis cluster multi-key operation
- JNI开发基础篇:C语言调用Java中的方法
- JNI注册调用源码分析完整过程-安卓4.4
- Eclipse打包为jar的两种方法