正则表达式包含数字和特殊符号,正则表达式代表一个字符的符号

首页 > 教育 > 作者:YD1662024-06-21 02:27:02

正则表达式包含数字和特殊符号,正则表达式代表一个字符的符号(1)

正则表达式(Regular Expression,RE)是计算机科学中的一个重要概念。正则表达式描述了一种字符串匹配的模式,可以用来判断一个字符串是否含有某个子字符串,再将匹配的子字符串进行替换,或者从某个字符串中取出符合某个条件的子串等。本章将详细讲解在Python程序中使用正则表达式的知识,为读者进行本书后面知识的学习打下坚实的基础。

1.1 基本语法

正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,字母a~z )和特殊字符(称为元字符)。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。正则表达式虽是复杂的,但它也是强大的。在当今市面中,绝大多数开发语言都支持利用正则表达式进行字符串操作,如C 、Java、C#、PHP和Python等。

正则表达式是由普通字符以及特殊字符组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。作为一个模板,正则表达式将某种字符模式与所搜索的字符串进行匹配。本节将详细讲解正则表达式的基本语法知识。

1.1.1 普通字符

正则表达式包含文本和特殊字符的字符串,该字符串描述了一种可以识别各种字符串的模式。对于通用文本来说,用于正则表达式的字母表是所有大小写字母及数字的集合。普通字符包括没有显式指定为元字符的所有可打印和不可打印字符,这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号。

下面介绍的正则表达式都是普通字符,它们仅用一个简单的字符串就能构造成一个匹配字符串的模式:该字符串由正则表达式定义。表1-1所示为几个正则表达式和它们所匹配的字符串。

正则表达式包含数字和特殊符号,正则表达式代表一个字符的符号(2)

表1-1中的第一个正则表达式模式是“foo”,该模式没有使用任何特殊符号去匹配其他符号,只匹配所描述的内容。所以,能够匹配这个模式的只有包含“foo”的字符串。同理,对于字符串“Python”和“abc123”,也一样。正则表达式的强大之处在于引入特殊字符来定义字符集、匹配子组和重复模式。正是由于这些特殊符号,使得正则表达式可以匹配字符串集合,而不只是单个字符串。

由此可见,普通字符表达式属于最简单的正则表达式形式。

1.1.2 非打印字符

非打印字符也可以是正则表达式的组成部分,表1-2列出了表示非打印字符的转义序列。

表1-2 非打印字符的转义序列

正则表达式包含数字和特殊符号,正则表达式代表一个字符的符号(3)

1.1.3 特殊字符

所谓特殊字符,就是一些有特殊含义的字符,如“*.txt”中的星号,就表示任何字符串的意思。如果要查找文件名中有“*”的文件,则需要对“*”进行转义,即在其前加一个“\”,即“\*.txt”。如果要匹配这些特殊字符,则必须首先对字符进行转义,即将“\”放在它们的前面。表1-3列出了正则表达式中的特殊字符。

表1-3 正则表达式中的特殊字符

正则表达式包含数字和特殊符号,正则表达式代表一个字符的符号(4)

正则表达式包含数字和特殊符号,正则表达式代表一个字符的符号(5)

1.使用择一匹配符号匹配多个正则表达式模式

竖线“|”表示择一匹配的管道符号,也就是键盘上的竖线,表示一个“从多个模式中选择其一”的操作,用于分隔不同的正则表达式。例如,在表1-4中,左边是一些运用择一匹配的模式,右边是左边相应模式所能够匹配的字符。

-END-

喜欢的朋友欢迎转发到朋友圈

正则表达式包含数字和特殊符号,正则表达式代表一个字符的符号(6)

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.