python re模块小例子

今天在论坛看到一个问题就记了下来,分别用sed和python写了答案,当是re模块的小练习吧

2014-11-05 09:39:48: ip[192.168.10.152] logId[281424076]
2014-11-05 09:58:33: ip[192.168.10.152] logId[393876725]
2014-11-05 09:58:33: ip[192.168.10.152] logId[393883438]
2014-11-05 09:58:34: ip[192.168.10.152] logId[394052520]
2014-11-05 09:58:34: ip[192.168.10.152] logId[394057519]

第2列去掉最后一个冒号, 第3列和第4列取方括号里面的内容

sed:

sed ‘s/: / /;s/ip\[\(.*\)\]/\1/;s/\].*\[/ /‘ test

python:

#!/usr/bin/env python

import re

file = open(‘test‘)
done = 0
while not done:
        line = file.readline()
        if line != ‘‘:
                line = line.strip(‘\n‘)
                this_line_list = line.split(‘ ‘)
                zz1 = re.compile(‘[0-9]{2}:[0-9]{2}:[0-9]{2}‘)
                zz2 = re.compile(‘[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}‘)
                zz3 = re.compile(‘[0-9]{1,}‘)
                pp1 = re.findall(zz1,this_line_list[1])
                pp2 = re.findall(zz2,this_line_list[2])
                pp3 = re.findall(zz3,this_line_list[3])
                print ‘%s %s %s %s‘ % (this_line_list[0],pp1[0],pp2[0],pp3[0])
        else:
                done = 1
file.close()
时间: 2024-09-30 14:54:22

python re模块小例子的相关文章

Python网络编程小例子:使用python获取网站域名信息

Whois简介 whois(读作"Who is",非缩写)是用来查询域名的IP以及所有者等信息的传输协议.简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人.域名注册商).通过whois来实现对域名信息的查询.早期的whois查询多以命令列接口存在,但是现在出现了一些网页接口简化的线上查询工具,可以一次向不同的数据库查询.网页接口的查询工具仍然依赖whois协议向服务器发送查询请求,命令列接口的工具仍然被系统管理员广泛使用.whois通常

Python 面向对象的小例子

1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 # added by kangye python27 4 5 class Person: 6 "人的基本类型" 7 # 申明类属性 8 name = "" 9 age = 0 10 # 私有属性 11 __sex = "man" 12 13 # 构造方法 14 def __init__(self, name, age , sex="man&q

Python,while循环小例子--猜拳游戏(三局二胜)

1 import random 2 3 all_choice = ['石头', '剪刀', '布'] 4 5 prompt = '''(0)石头 6 (1)剪刀 7 (2)布 8 请选择(0\1\2)''' 9 # 人的计分板 10 pwin = 0 11 # 计算机的计分板 12 cwin = 0 13 # 人和计算机都没有赢够两次则继续 14 while pwin < 2 and cwin < 2: 15 # 人的选择在前,计算机随机选择在后,组成小列表,把所有人赢的情况再放到大列表中 1

python装饰器小例子

import time def timer(func): #timer(test1) func=test1 def deco(*args,**kwargs): start_time=time.time() func(*args,**kwargs) stop_time=time.time() print("the func run time %s" %(stop_time-start_time)) return deco @timer #test1=timer(test1)def tes

python查询数据库小例子

Windows下面到下载MySQLdb: http://www.codegood.com/downloads # -*- coding: utf-8 -*- from datetime import * import MySQLdb import sys FILE_C = "c_%d.html" CIDS = [409070983655456980, 409070984218760117, 409070984223655957, 409070984228852701] SQL_CATE

python事件驱动的小例子

首先我们写一个超级简单的web框架 event_list = [] #这个event_list中会存放所有要执行的类 def run(): for event in event_list: obj = event() #实例化这个类 obj.execute() #执行类的execute方法 class BaseHandler(object): """ 用户必须要继承该类,从而规范所有类的方法,类似于接口的功能 用户在自己的类中必须要定义这个execute函数,否则会报错 &q

python字符串截取小例子

# TempConvert.pyval = input("请输入带温度表示符号的温度值(例如:32C): ") if val[-1] in ['C','c']: f = 1.8 * float(val[0:-1])+32 print("转换后的温度为: %.2fF" %f)elif val[-1] in ['F','f']: c = (float(val[0:-1]) - 32) / 1.8 print("转换后的温度为:%.2fC" %c)el

python列表函数小例子

# emp_list = [] while True: info = input("请输入员工信息:") if info == "": print("程序结束")#输入回车时结束 break info_list = info.split(",") print(len(info_list)) if len(info_list) != 3: print("格式不正确,只能输入三段") continue emp_

python速成第二篇(小爬虫+文件操作+socket网络通信小例子+oop编程)

大家好,由于前天熬夜写完第一篇博客,然后昨天又是没休息好,昨天也就不想更新博客,就只是看了会资料就早点休息了,今天补上我这两天的所学,先记录一笔.我发现有时候我看的话会比较敷衍,而如果我写出来(无论写到笔记本中还是博客中,我都有不同的感觉)就会有不同的想法,我看书或者看资料有时候感觉就是有一种惰性,得过且过的感觉,有时候一个知识想不通道不明,想了一会儿,就会找借口给自己说这个知识不重要,不需要太纠结了,还是去看下一个吧,然后就如此往复下去,学习就会有漏洞,所以这更加坚定了我写博客来记录的想法.