第 7章模式匹配与正则表达式

你可能熟悉文本查找,即按下Ctrl-F,输入你要查找的词。“正则表达式”更进一步,它们让你指定要查找的“模式”。你也许不知道一家公司的准确电话号码,但如果你住在美国或加拿大,你就知道它有3位数字,然后是一个短横线,然后是4位数字(有时候以3位区号开始)。因此作为一个人,你看到一个电话号码就知道:415-555-1234是电话号码,但4,155,551,234不是。

正则表达式很有用,但如果不是程序员,很少会有人了解它,尽管大多数现代文本编辑器和文字处理器(诸如微软的Word或OpenOffice),都有查找和查找替换功能,可以根据正则表达式查找。正则表达式可以节约大量时间,不仅适用于软件用户,也适用于程序员。实际上,技术作家Cory Doctorow声称,甚至应该在教授编程之前,先教授正则表达式:“知道[正则表达式]可能意味着用3步解决一个问题,而不是用3000步。如果你是一个技术怪侠,别忘了你用几次击键就能解决的问题,其他人需要数天的烦琐工作才能解决,而且他们容易犯错。”11Cory Doctorow, “Here’s what ICT should really teach kids: how to do regular expressions,”Guardian, December 4, 2012,http://www.theguardian.com/technology/2012/dec/04/ict-teach-kids-regular-expressions/.

在本章中,你将从编写一个程序开始,先不用正则表达式来寻找文本模式。然后再看看,使用正则表达式让代码变得多么简洁。我将展示用正则表达式进行基本匹配,然后转向一些更强大的功能,诸如字符串替换,以及创建你自己的字符类型。最后,在本章末尾,你将编写一个程序,从一段文本中自动提取电话号码和E-mail地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大飞哥软件自习室

希望支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值