Python之正则表达式入门

突然想整理一下以前学的比较重要的东西。趁吃饭前,把正则表达式整理下吧。(谨适用于入门)

一、如何查找关键词

格式:关键词,如there或There
输出:所有包含关键词的句子

import re
handle = open('example.txt')
for line in handle:
    line = line.strip()
    if re.search('there|There',line):
        print line

result:
这里写图片描述

二、首先如何按照”句首”来获取所需信息

格式:^关键词 ,如^There
输出: 所有开头为关键词的句子

import re
handle = open('example.txt')
for line in handle:
    line = line.strip()
    if re.search('^There',line):
        print line

result:
这里写图片描述

前两项是比较基础的,可以在获取信息后再进行后续字符串的处理。

三、re字符的介绍

|: 或
^:表示开头
.:表示任意字符
*:表示任意个数
eg:

import re
handle = open('example.txt')
buf = []
for line in handle:
    line = line.strip()
    if re.search('^.*way.*',line):
        print line
        '''
    y = re.findall('^.*way.*',line)
    if len(y)>0:
        buf.append(y)
print buf
'''

用findall()也可以
result:
这里写图片描述

\S: 任意非空格字符
+:任意个数(但至少一个)
?: 0个或1个
{n}:n为常数,代表几个个数,如[0-9]{3}表示3个数字
{a,b}:a个到b个之间
{a,}: 至少a个
如果把上面的改为

if re.search('^.*way.+',line):

则结果为:看看有什么不同
这里写图片描述

‘[0-9]’: 数字
‘[a-zA-Z]’:字母
‘[a-zA-Z0-9]’:字母或数字
‘[0-9.]’: 数字或.
‘[0-9.]+’: 如0.84
规律:[]里面放什么都行,比如 [#][.]
$:结束,如’,$’ 以逗号结束
\ $: ‘$’字符
eg:

import re
handle = open('example.txt')
buf = []
for line in handle:
    line = line.strip()
    if re.search('[a-z]+[#]',line):
        print line

result:
这里写图片描述

四、字符串中提取所需字符

这是重点
主要用到re.findall()
这里写图片描述

如图,提取英文字符提取数字

本文讲的比较浅,谨适用于入门,后续还得大家发挥自己的聪明才智融汇贯通。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值