之前我们讲过了正则表达式的概念和基本用法,详情可参见这篇文档:正则篇(一):认识正则表达式。
那具体应该怎么写出这样的正则呢?其实就三步:
一分析归类,二正则匹配,三测试匹配。
分析归类指的是:分析一下你将要匹配的内容,然后将这些字符进行归类,比如你可把他们归类为数字、英文字母、汉字、一个字符等等。
正则匹配很容易理解,归类结束之后写出每一类的表达式,把这些拼起来就是一个完整表达啦。
测试匹配就更容易理解啦~写出来的表达式对不对呢?一定要测试一下。当然,测试的网站随便找一个可以匹配正则的都可以啦~在本文中,我用的是memoq的正则表达式小助手。
我们可以用几个日期的表达来实际演示一下。
注意:在下列提供的案例,我们假设原文中每个格子代表一个字符~
当然,你也可以把
\d
换成[0-9]
,是一样的。
再来一个:
同样,你也可以把
\d
换成[0-9]
。
那,如果是以下内容,又该如何匹配呢?
25.06.2018
25. 6.2018
2. 6. 2018
25.6. 2018
25.6. 18
我们还是按照三步走~
同样,你也可以把
\d
换成[0-9]
。
那么,在上一篇文章的结尾,曾经出了一道题,让大家练习匹配以下日期,同时也给出了几种匹配方式。
日期 | 匹配规则一 | 匹配规则二 |
---|---|---|
2018-06-25 | \d{4}-\d{2}-\d{2} | [0-9]+-[0-9]+-[0-9]+ |
06/25/2018 | \d+/\d+/\d+ | [0-9]+/[0-9]+/[0-9]+ |
2018年06月25 | \d+年\d+月\d+日 | [0-9]+年[0-9]+月[0-9]+日 |
2018年06月25日 | \d+年\d+月\d+日 |
我们也可以按照三步骤试试看,就拿第一个举例子好了,剩下的交给大家~
4个数字
+-
+2个数字
+-
+2个数字
或者可以可以理解为:
多个数字
+-
+多个数字
+-
+多个数字
\d{4}
-
\d{2}
-
\d{2}
如果是第二种理解,那就是
\d+
-
\d+
-
\d+
怎么样,是不是很简单~
再次回顾一下写正则的三个步骤:
本文目录
© Copyright 2023. 大辞科技 沪ICP备17050550号 沪公网安备 31011402006110号