@H_403_2@在做了一些文字处理工作后,觉得正则表达式真的是有通天的神力,熟练掌握后,顿觉手握倚天剑,心有九阳真经,脚踏风火轮,可以肆意地在文字的丛林里披荆斩棘。下面,我们就来看看基本的正则表达式的用法。
基本的正则表达式
@H_403_2@我翻了翻书,了解了[]和-的用法后,高兴地用了这么一个正则表达式[0-9]+-[0-9]+ 完成了任务,其中[0-9]表示[0-9]中任选一个匹配,+表示后面可以重复1到N次,N代表无限。
@H_403_2@不料,大神级别的项目组长看了这个表达式之后,说了句,“你是新手吧?”。靠,我真的很纳闷,他怎么看出来的?
@H_403_2@最后,看了一些帖子,才发现,有人说过,菜鸟采用[0-9],大神都用\d,其中d是英语digit(数字)的第一个字母。
@H_403_2@懂了以后,我把上面的表达式改成了 \d+-\d+,也能用。
@H_403_2@不过,程序运行了几次后,又碰到了一个新问题,有的公司号码是这样的(
021)34206500,@H_403_2@
有的还用了中文括号@H_403_2@
(@H_403_2@021)34206500,@H_403_2@这可怎么办,三种情况了?@H_403_2@@H_403_2@
@H_403_2@
@H_403_2@问题来了,怎么把这些排除掉呢,我灵机一动,发现太简单了,直接写成\d\d\d.\d\d\d\d\d\d\d\d。写完以后,我觉得这他妈的真的长的,设计正则的人真的脑残,不能搞点简便的办法吗?
@H_403_2@话说我才刚想喷这么一句,有人从后面拍了下我肩膀,说,“你怎么这么写?让我来给你SHOW一个大招。”。说罢,他一改,\d{3}.\d{8}。
@H_403_2@“短了那么多,能行吗?”
@H_403_2@“试试“
小结
在本文中,我们学习了下列内容:
+, 匹配1到N次重复
[0-9], 匹配数字
\d,用字符表示数字
{N},重复N次
(未完待续)