正则表达式——点号

上一章讲到了各种字符组,与它相关的还有一个特殊的元字符:点号.。一般文档都说,点号可以匹配"任意字符",点号确实可以匹配"任意字符",常见的数字、字母、各种符号都可以匹配,如例2-10所示。

例2-10  点号.的匹配

re.search(r"^.$", "a") != None      #  => True  
re.search(r"^.$", "0") != None      #  => True  
re.search(r"^.$", "*") != None      #  => True  

有一个字符不能由点号匹配,就是换行符\n。这个字符平时看不见,却存在,而且在处理时并不能忽略(下一章会给出具体的例子)。

如果非要匹配"任意字符",有两种办法:可以指定使用单行匹配模式,在这种模式下,点号可以匹配换行符(?84);或者使用上一章的介绍"自制"通配字符组[\s\S](也可以使用[\d\D][\w\W]),正好涵盖了所有字符。例2-11清楚地说明,这两个办法都可以匹配换行符。

例2-11  换行符的匹配

re.search(r"^.$", "\n") != None             #  => False  
#单行模式  
re.search(r"(?s)^.$", "\n") != None         #  => True  
#自制“通配字符组”  
re.search(r"^[\s\S]$", "\n") != None        #  => True  

转载于:https://www.cnblogs.com/gaara0305/p/9817164.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值