python 正則例項

2021-08-10 20:02:22 字數 2258 閱讀 2954

首先熟悉點正則裡面的一些知識

.* 代表匹配任意字元,貪婪模式,就是盡可能的向後匹配

.*? 這個能阻止貪婪模式

re 修飾符:

修飾符 描述

re.i 使匹配對大小寫不敏感

re.l 做本地化識別(locale-aware)匹配

re.m 多行匹配,影響 ^ 和 $

re.s 使 . 匹配包括換行在內的所有字元

re.u 根據unicode字符集解析字元。這個標誌影響 \w, \w, \b, \b.

re.x 該標誌通過給予你更靈活的格式以便你將正規表示式寫得更易於理解。

import re

in [1]: ss = ''

in [4]: re.findall(r'<.*>',ss)

out[4]: ['']

#只匹配標籤

in [6]: re.findall(r'<.*?>',ss)

out[6]: ['']

例項:

import re

#無名分組

reg_syslog=re.compile(r'\w+\s+\d+\s[\d+:]+\s\w+\s\w+(\[\d+\])?:\s.*')

#有名分組,(<?p自定義名字》)

reg_syslog1=re.compile(r'(?p\w+\s+\d+\s[\d+:]+)\s(?p\w+)\s(?p\w+(\[\d+\])?:)\s(?p.*)')

ss = "nov 15 10:24:57 geenk03 abrt[16849]: file '/usr/sbin/keepalived' seems to be deleted"

s=reg_syslog.search(ss)

s1=reg_syslog1.search(ss)

print s.group(0)

print s1.group(0)

#有名分組可以方便將匹配資訊儲存在字典中

print s1.groupdict(0)

nov 15 10:24:57 geenk03 abrt[16849]: file 『/usr/sbin/keepalived』 seems to be deleted

nov 15 10:24:57 geenk03 abrt[16849]: file 『/usr/sbin/keepalived』 seems to be deleted

[root@geenk03 opt]# cat get_ip.py

#!/usr/bin/env python

import re

from subprocess import popen,pipe

defgetifconfig

(): p = popen(['ifconfig'],stdout=pipe)

data = p.stdout.read().split('\n\n')

return [i for i in data if i and

not i.startswith('lo')]

defparseifconfig

(data):

re_devname = re.compile(r'(br|eth|em|virbr|bond)[\d]+',re.m)

re_mac = re.compile(r'hwaddr ([\w:])',re.m)

re_ip = re.compile(r'inet addr:([\d\.])',re.m)

devname = re_devname.search(data)

if devname:

devname = devname.group(0)

else:

devname =''

mac = re_mac.search(data)

if mac:

mac = mac.group()

else:

mac = ''

ip = re_ip.search(data)

if ip:

ip = ip.group(1)

else:

ip = ''

return

if __name__ == '__main__':

data = getifconfig()

for i in data:

print parseifconfig(i)

[root@geenk03 opt]# ./get_ip.py

Python正則簡單例項分析

悄悄打入公司內部ued的乙個python愛好者小眾群,前兩天一位牛人發了條訊息 小的測試題 re.split w test,test,test.返回什麼結果 一開始看,我倒沒注意w是大寫的,以為是小寫的w代表單詞字元 含下程式設計客棧劃線 今天執行一看才發現是大寫的。在idl程式設計客棧e跑一下的結...

Python正規表示式例項

字元匹配 例項描述 python 匹配 python 字元類例項 描述 pp ython 匹配 python 或 python rub ye 匹配 ruby 或 rube aeiou 匹配中括號內的任意乙個字母 0 9 匹配任何數字。類似於 0123456789 a z 匹配任何小寫字母 a z 匹...

Python正規表示式例項演練

1 首先python中要使用regex,必須匯入模組 re import re 的使用,要想輸出元字元 等 必須在前邊加 才能輸出。string this is a nstring print string this is a string string1 r this is a nstring 前...