- 不贪婪的限定符 *?、+?、?? 或 {m,n}?,尽可能匹配小的文本。
- \S 非空字符
- "." 标识任意字符非换行字符,可以通过设置编译参数来包含匹配换行字符
- (a|b|c) 要么匹配 a ,要么匹配 b ,要么匹配 c 。
- | A|B 表示A或者B , AB为任意的正则表达式 另外|是非贪婪的如果A匹配,则不找B
- 松散正则表达式:忽略空白,注释 re.VERBOSE
- ^ 匹配字符串的开始。
- $ 匹配字符串的结尾。
- \b 匹配一个单词的边界。
- \d 匹配任意数字。
- \D 非 \d,匹配任意非数字字符。
- \s 表示空字符
- \w [a-zA-Z0-9_]
- \W 非 \w
- x? 匹配一个可选的 x 字符 (换言之,它匹配 1 次或者 0 次 x 字符)。
- x* 匹配0次或者多次 x 字符。
- x+ 匹配1次或者多次 x 字符。
- x{n,m} 匹配 x 字符,至少 n 次,至多 m 次。
- (x) 一般情况下表示一个记忆组 (remembered group) 。你可以利用 re.search 函数返回对象的 groups() 函数获取它的值。
- [] 表一系列字符 [abcd] 表a,b,c,d [^a] 表示非a
re.sub(pattern,dest,string)
re.search(pattern,string)
电话号码正则表达式(
松散正则表达式):
>>> phonePattern = re.compile(r'''
# don't match beginning of string, number can start anywhere
(\d{3}) # area code is 3 digits (e.g. '800')
\D* # optional separator is any number of non-digits
(\d{3}) # trunk is 3 digits (e.g. '555')
\D* # optional separator
(\d{4}) # rest of number is 4 digits (e.g. '1212')
\D* # optional separator
(\d*) # extension is optional and can be any number of digits
$ # end of string
''', re.VERBOSE)
>>> phonePattern.search('work 1-(800) 555.1212 #1234').groups() 1
('800', '555', '1212', '1234')
>>> phonePattern.search('800-555-1212') 2
('800', '555', '1212', '')
分享到:
相关推荐
这本书详细介绍了Python 3的各种特性,包括语法、数据结构、函数、类、模块、异常处理、输入/输出、网络编程、正则表达式、数据库操作以及Web开发等内容。 1. **Python 3简介**:Python 3是Python编程语言的一个...
《Dive into Python3》的压缩包文件名为diveintopython3-r860-2010-01-13,这可能表示它是2010年1月13日发布的第860个修订版。这个版本可能包含了作者对初版的修正和更新,以适应Python 3的最新发展。 通过阅读这...
5. 了解Python3的内置模块,如os、sys、re、json等,以及如何使用它们进行文件操作、正则表达式匹配和数据序列化。 6. 学习Python3的并发编程,包括线程、进程和协程,理解同步与异步的概念。 7. 熟悉Python3的网络...
标签“diveintopython chm”表明这是关于《深入Python》的CHM格式学习资料,适用于那些希望系统学习Python编程语言的人群。 在这个压缩包中,有两个主要的文件: 1. **Dive.Into.Python-zh-cn-5.4-with-code.chm**...
《深入Python 3》是一本全面且深入介绍Python 3编程语言的电子书籍,旨在帮助读者从...压缩包中的文件“diveintomark-diveintopython3-793871b”很可能是该书的源代码或HTML文件,可以配合阅读,加深对书中示例的理解。
Python 从新手到高手 Dive Into Python 是为有经验的程序员编写的一本 Python 书。 1.在多个平台安装Python 2.第一个Python程序 3.内置数据类型 4.自省的威力 5.对象和面向对象 6.异常和文件处理 7.正则表达式 8....
6. **正则表达式**:介绍Python中的re模块,用于进行文本匹配和搜索。 7. **网络编程**:讲解如何使用Python进行网络通信,包括HTTP请求、套接字编程等。 8. **数据库编程**:介绍Python与数据库交互的接口,如...
在“diveintopython3-master”这个压缩包中,包含了这本书的所有源代码示例。通过这些代码,我们可以学习到以下关键知识点: 1. **Python基础**:包括变量、数据类型(如整型、浮点型、字符串、列表、元组、字典)...
"DiveIntoPython3.pdf"应该是书籍的PDF版,而"DiveIntoPythonExamples"很可能是书中示例代码的集合,这些资源对于自学Python 3非常有帮助。通过实践,读者可以更好地掌握书中的知识点,并逐步提升自己的Python编程...
在这些基础知识之上,进一步探讨了异常处理、面向对象编程(类与对象)、文件操作和正则表达式等进阶主题。此外,书中还涵盖了Python的高级特性,如装饰器、生成器以及元编程,这些都是Python强大而灵活的体现。 ...
标题 "diveintopython-examples-5.4" 暗示这是一份与《Dive Into Python》相关的代码示例集,该书是一本经典的Python编程教程,版本为5.4。这个压缩包包含了一系列Python编程的实际应用示例,帮助读者深入理解Python...
在描述中提到的"很全",暗示了这个压缩包可能包含了书中的所有实例和练习,这将覆盖Python的基础到高级主题,包括数据类型、控制流、函数、类、模块、异常处理、文件操作、网络编程、多线程、正则表达式、单元测试等...
根据提供的文件信息,我们可以将《Dive Into Python》这一教程的主要知识点进行详细的解析与总结。 ### 安装Python #### 1.1 哪个版本的Python适合你? 选择合适的Python版本非常重要,因为不同的应用场景可能...
4. **标准库**:介绍了一些Python标准库中的重要模块,如os、sys、re(正则表达式)、datetime、xml等,以及如何利用它们解决问题。 5. **文件和I/O操作**:学习读写文件,处理文本和二进制数据,理解文件对象和流...
### Dive into Python中文版 #### 一、书籍概述 《Dive into Python》是一本针对有一定编程基础读者的Python教程,旨在帮助读者深入了解Python语言及其应用。本书最初由Mark Pilgrim编写,经过多次修订和翻译,...
此外,还可能涉及异常处理、文件操作、正则表达式、网络编程、数据库交互等进阶主题。通过具体的例子,读者可以深入理解这些概念如何在实际编程中发挥作用。 对于想要快速学习Python的读者,这本书是极好的选择。它...
此外,书中的例子还会涵盖一些Python的标准库和第三方库的使用,如正则表达式、XML处理、网络编程等,这些都是Python实际开发中经常遇到的应用场景。 总的来说,《Dive Into Python》是一本全面且实用的Python教程...