纸上得来终觉浅,绝知此事要躬行。

 

正则表达式使用\1的好处

有这样一串字符:2011-09-21-21:33:33:000000

如果使用一般的写法可以这样做:

(\d{1,4}-\d{1,2}-\d{1,2}-\d{1,2}:\d{1,2}:\d{1,2}:\d{1,6})|(\d{1,4}\/\d{1,2}\/\d{1,2}\/\d{1,2}:\d{1,2}:\d{1,2}:\d{1,6})

但是这样写又长又不好维护,下面就是\1出场的时候了,如下:

\d{1,4}(-|\/)\d{1,2}(\1\d{1,2}){2}(:\d{1,2}){2}:\d{1,6}

这个时候就该解释一下\1具体意思了,如下:

 (-|\/)捕获- 或者\

\1是就是前面捕获的这个符号
以保证3次出现的一定是同一个符号
不过有牛人说,像这种字符直接转换可以会更好些,写正则反而麻烦了。有时候不要为了展示自己而费了程序

posted on 2011-12-07 12:50  JRoger  阅读(795)  评论(0)    收藏  举报

导航