正则表达式(python)——1
表1 常用正则表达式符号和特殊字符
1. 用管道符号(|)匹配多个正则表达式模式: 它的意思是选择被管道符号分隔的多个不同的正则表达式中的一个(相当于逻辑或)。例如: 正则表达式 匹配的字符串 at|home at,home r2d2|c3p0 r2d2,c3b0 2. 匹配任意一个单个的字符(.) 点符号或句号(.)符号匹配除换行符(NEWLINE)外的任意一个单个字符 正则表达式 匹配的字符串 f.o 在"f"和"o"中间的任何字符,如fao,f9o,f#o等 3. 从字符串的开头或结尾或单词边界开始匹配(^/$ /b /B) 正则表达式 匹配的字符串 ^From 匹配任何以From开水的字符串 /bin/tcsh$ 匹配任何以/bin/tcsh结束的字符串 ^Subject:hi$ 匹配仅由Subject:hi组成的字符串 bthe 匹配任何以"the"开始的字符串 Bthe 任意包含"the"但不以"the"开通的单词 b和B是用来匹配单词边界。两者之间的区别是,b匹配的模式是一个单词边界,就是说,与之对应的模式一定在一个单词的开头,不论这个单词的前面是有字符(该词在一个字符串中间),还是没有字符(该单词在一行的起始处)。B只匹配出现在一个单词中间的模式(即不再单词边界上的字符). 4. 创建字符类([]) 正则表达式 匹配的字符串 b[aeiu]t bat,bet,bit,but [cr][23][dp][o2] 如c3do,r3p2,r2d2等 5. 指定范围(-)和否定(^) 如: z.[0-9],[^tn], ["-a]:在ASCII字符集中,码值在"和a之间的任意一个字符 6. 使用闭包操作符(*,{})实现多次出现/重复匹配 *:匹配它左边那个正则表达式出现0次或者0次以上的情况(kleene闭包操作符); +:匹配它左边那个正则表达式至少出现一次的情况(正闭包操作符); ?:匹配它左边那个正则表达式出现0次或1次的情况. {}:如果是一个值,表示匹配N次出现;如果是一对值,即{M,N},就表示匹配M次到N次出现。 正则表达式 匹配的字符串 [dn]ot? 'd'或'n'后面接'o',最后是最多一个字符't',即do,no,dot,not 0?[1-9] 1-9中的任意一位数字,前面可能还有个'0' [0-9]{15,16} 15或16位数字,例如:信用卡号码 7. 特殊字符集 正则表达式 匹配的字符串 w+-d+ 一个由字母或数字组成的字符串,和至少一个数字,两部分中间由'-'相连 [A-Za-z]w+ 第一个字符是字母,其余字符是字母或数字 d{3}-d{3}-d{4} 美国电话号码,例如:800-555-1212 w+@w+.com 简单的XXX@YYY.com格式的电子邮件地址 8.用圆括号()建组 一对圆括号()和正则表达式一起使用时可以实现以下任意一个(或两个)功能: 1.对正则表达式进行分组 2.匹配子组 正则表达式 匹配的字符串 d+(.d*)? 表示简单浮点数,即任意个十进制数字,后面跟一个可选的小数点,然后跟0或多个十进制数 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |