随笔一个正则
正则匹配,一定要知道的是,它是一个字符一个字符进行匹配。这一点很重要。
匹配一个字符串$a = '12,33,4,5,6';这种一个数一个逗号的。或者就是一个数字。
知道正则的匹配规则,一个字符一个字符匹配。由于这个例子可以分组,那么开始分割,找到了分组条件是一个逗号一个数。第一个数要单拿出来。
+号表示一个或者多个,*号表示0个或者多个
preg_match('/^\d+(,\d+)*$/', $a);// 注意php正则里没有g选项...
这个就可以匹配一个数字或者带有逗号的$a这种~
正则多写几个,多练习几个就不难了^_^
接着这个问题,还有一个,怎么利用正则查找一个数是否在该字符串中呢?比如想知道5是不是在'12,33,4,5,6'中。
preg_match('/(^|,)5($|,)/', '12,33,4,5,6');
这个正则在mysql的表结构设计中也经常会用到。比如:
WHERE (field REGEXP '(^|,)5($|,)')