python基础——正则表达式

1.c语言中的转义字符


转义字符

意义

ASCII码值(十进制)

\a

响铃(BEL)

007

\b

退格(BS) ,将当前位置移到前一列

008

\f

换页(FF),将当前位置移到下页开头

012

\n

换行(LF) ,将当前位置移到下一行开头

010

\r

回车(CR) ,将当前位置移到本行开头

013

\t

水平制表(HT) (跳到下一个TAB位置)

009

\v

垂直制表(VT)

011

\\

代表一个反斜线字符‘‘\‘

092

\‘

代表一个单引号(撇号)字符

039

\"

代表一个双引号字符

034

\0

空字符(NULL)

000

\ddd

1到3位八进制数所代表的任意字符

三位八进制

\xhh

1到2位十六进制所代表的任意字符

二位十六进制

2.python中的规则

(1)r表示不对字符串进行转义,保持字符串原样。python中遇到‘\‘就转义。

>>>print "\bhi"

  hi

  >>>print r"\bhi"

  \bhi

(2)re是python里的正则表达式模块。findall是其中一个方法,用来按照提供的正则表达式,去匹配文本中的所有符合条件的字符串。返回结果是一个包含所有匹配的list。

3.正则表达式规则

“\b”在正则表达式中表示单词的开头或结尾,空格、标点、换行都算是单词的分割。而“\b”自身又不会匹配任何字符,它代表的只是一个位置。所以单词前后的空格标点之类不会出现在结果里。

在正则表达式中,[]表示满足括号中任一字符。比如“[hi]”,它就不是匹配“hi”了,而是匹配“h”或者“i”。

“.”  "*"  “?”

import re
text="Hi,I am sdsfsf HisHildskd. I am his wife."
m=re.findall(r"Hi",text)      #找出所有Hi。得到[‘Hi‘, ‘Hi‘, ‘Hi‘]
if m:
    print m
else:
    print ‘not match‘

n=re.findall(r"\bHi\b",text)   #只找到单词Hi。得到[‘Hi‘]
if n:
    print n
else:
    print ‘not match‘
import re
text="site sea sue sweet see case sse ssee loses looses le"

n=re.findall(r".*",text)
if n:
    print r".*",        #   *表示前面的字符可以任意重复多次。得到的是[‘site sea sue sweet see case sse ssee loses‘, ‘‘]
    print n
else:
    print ‘not match‘

l=re.findall(r".*?",text)   #   ?表示让他匹配到最短就停止
if l:
    print r".*?",           #   得到的是[‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘]
    print l
else:
    print ‘not match‘

q=re.findall(r"l.*e",text)  #    以l开头,e结尾的最长字符串,得到[‘loses loose le‘]
if q:
    print r"l.*e",
    print q
else:
    print ‘not match‘

p=re.findall(r"l.*?e",text)  #  ?表示让他匹配到最短就停止,得到[‘lose‘, ‘loose‘,‘le‘]
if p:
    print r"l.*?e",
    print p
else:
    print ‘not match‘

k=re.findall(r"\bs.*?e\b",text)  #  .匹配除了‘\n\r‘之外的所有字符,得到的是[‘site‘, ‘sea sue‘, ‘sweet see‘, ‘sse‘, ‘ssee‘]
if k:
    print r"\bs*?e\b",
    print k
else:
    print ‘not match‘

#找到所有以s开头以e结尾的单词
k=re.findall(r"\bs\S*?e\b",text)  #  \S匹配的是所有可见的字符,得到的是[‘site‘, ‘sue‘, ‘see‘, ‘sse‘, ‘ssee‘]
if k:
    print r"\bs\S*?e\b",
    print k
else:
    print ‘not match‘

text="dfds srg    sdf"          #   \s匹配的是所有不可见的字符,包括[\n\r\f\t\v],得到的是[‘ ‘, ‘\t‘]
rr=re.findall(r"\s",text)
if rr:
    print rr
else:
    print "NULL"
时间: 2024-10-09 09:10:50

python基础——正则表达式的相关文章

Python基础----正则表达式和re模块

正则表达式 就其本质而言,正则表达式(或 re)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行. 字符匹配(普通字符,元字符): 1 普通字符(完全匹配):大多数字符和字母都会和自身匹配 1 >>> import re 2 >>> res='hello world good morning' 3 >>> re.findall(

python 基础 正则表达式

对于许多需要处理文本来说的技术工程师,必须对Python正则表达式有一个全面深入的认识,不但要深入理解下什么是Python正则表达式,还要对Python正则表达式字符有所认识. 此外,还有少数字符比较特殊,它们和自身并不匹配,而是跟其字面值之外的一些特殊的东西匹配,这些东西可能是字符集.重复次数或者位置等.常用的元字符包括: . ^ $ * + ? { } [ ] \ | ( ) 对于这些特殊字符,本文会陆续加以介绍.不过我们这里先了解一下用来匹配字符的元字符.首先,句点“.”这个元字符通常用于

Python基础 - 正则表达式

正则表达式, 是用来描述, 匹配字符串规则的. 跟什么编程语言没啥关系, 这个太强大了. Python中, 内置 re 模块对正则有很强大的支持. 正则表达式基本语法 ". " 任意单字符,除了\n "* " 其前面子模式0或多次 '+ ' 其前面子模式的**1或多次 '- ' 在 [ ] 之间表示范围,如[0-9] | 前or后的字符串 ^ 后面的模式开头 '$ '后面的模式结尾 ? 前面0或1个字符, 也作为非贪婪限定词 ?转义 \num 子模式编号,名字 \f

Python基础----正则表达式爬虫应用,configparser模块和subprocess模块

正则表达式爬虫应用(校花网) 1 import requests 2 import re 3 import json 4 #定义函数返回网页的字符串信息 5 def getPage_str(url): 6 page_string=requests.get(url) 7 return page_string.text 8 9 hua_dic={} 10 def run_re(url): #爬取名字.学校和喜爱的人数 11 hua_str=getPage_str(url) 12 hua_list=r

python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding:utf-8from com.wenhy.crawler_baidu_baike import url_manager, html_downloader, html_parser, html_outputer print "爬虫百度百科调度入口" # 创建爬虫类class SpiderMai

Python基础之 正则表达式指南

本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程. 注意:本文基于Python2.4完成:如果看到不明白的词汇请记得百度谷歌或维基,whatever. 尊重作者的劳动,转载请注明作者及原文地址 >.<html 1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法

Python基础教程【读书笔记】 - 2016/7/31

希望通过博客园持续的更新,分享和记录Python基础知识到高级应用的点点滴滴! 第十波:第10章  充电时刻 Python语言的核心非常强大,同时还提供了更多值得一试的工具.Python的标准安装包括一组模块,称为标准库standard library.展示这些模块的工作方式,讨论如何分析它们,学习它们所提供的功能. [10.1] 模块 已经知道如何创建和执行自己的程序,也学会了怎么用import从外部模块获取函数并且为自己的程序使用.接下来看看怎么编写自己的模块. [10.1.1] 模块是程序

Python基础教程(第十章 自带电池)

本文内容全部出自<Python基础教程>第二版,在此分享自己的学习之路. ______欢迎转载:http://www.cnblogs.com/Marlowes/p/5459376.html______ Created on Marlowes 现在已经介绍了Python语言的大部分基础知识.Python语言的核心非常强大,同时还提供了更多值得一试的工具.Python的标准安装中还包括一组模块,称为标准库(standard library).之前已经介绍了一些模块(例如math和cmath,其中包

Python基础篇(八)

key words:私有变量,类静态变量,生成器,导入Python模块,r查看模块可以使用的函数,查看帮助信息,启动外部程序,集合,堆,时间模块,random模块,shelve模块,文件读取等 >>> class Rectangle: ...     def __init__(self): ...         self.__width = 0 ...         self.__height = 0 ...     def setSize(self,width,height): .