现有这样的字符串:'@#4905#6#10034#A#3#10040#A#4#10033#A#3#1#2#0#2#1000#'
解释如下:以‘@#’开头,‘#’结尾,中间都用‘#’分隔
4905:此处为4位数的数字
6:此处为一位数的数字10034:此处为5位数的数字
A:此处取值为A或B
3:此处为一位数的数字
注:(10034#A#3#)这一部分至少出现一次,最多5次1:此处为一位数的数字
2:此处取值为1或2
0:此处取值为0或1
2:此处取值为0或1或2
1000:此处为五位数的数字自己写了一个 去匹配不正确,请各位兄弟帮帮忙啊!
mysql> SELECT '@#4905#6#10034#A#3#10040#A#4#10033#A#3#1#2#0#2#1000#' REGEXP
'^@#[0-9]{4}#[0-9]{1}#([0-9]{5}#[AB]#[0-9]{1}#){1,5}[0-9]{1}#[1|2]#[0|1]#[0|1|2]#[0-
9]{5}#$' AS test
-> ;
+------+
| test |
+------+
| 0 |
+------+
1 row in set (0.00 sec)
解释如下:以‘@#’开头,‘#’结尾,中间都用‘#’分隔
4905:此处为4位数的数字
6:此处为一位数的数字10034:此处为5位数的数字
A:此处取值为A或B
3:此处为一位数的数字
注:(10034#A#3#)这一部分至少出现一次,最多5次1:此处为一位数的数字
2:此处取值为1或2
0:此处取值为0或1
2:此处取值为0或1或2
1000:此处为五位数的数字自己写了一个 去匹配不正确,请各位兄弟帮帮忙啊!
mysql> SELECT '@#4905#6#10034#A#3#10040#A#4#10033#A#3#1#2#0#2#1000#' REGEXP
'^@#[0-9]{4}#[0-9]{1}#([0-9]{5}#[AB]#[0-9]{1}#){1,5}[0-9]{1}#[1|2]#[0|1]#[0|1|2]#[0-
9]{5}#$' AS test
-> ;
+------+
| test |
+------+
| 0 |
+------+
1 row in set (0.00 sec)
1000:此处为五位数的数字mysql> SELECT '@#4905#6#10034#A#3#10040#A#4#10033#A#3#1#2#0#2#10000#' REGEXP '^@
#[0-9]{4}#[0-9]{1}#([0-9]{5}#[AB]#[0-9]{1}#){1,5}[0-9]{1}#[1|2]#[0|1]#[0|1|2]#[0
-9]{5}#$' AS test;
+------+
| test |
+------+
| 1 |
+------+
1 row in set (0.00 sec)mysql>
1000:此处为五位数的数字 改成4或5位 就可以了mysql> SELECT '@#4905#6#10034#A#3#10040#A#4#10033#A#3#1#2#0#2#1000#' REGEXP '^@
#[0-9]{4}#[0-9]{1}#([0-9]{5}#[AB]#[0-9]{1}#){1,5}[0-9]{1}#[1|2]#[0|1]#[0|1|2]#[0
-9]{4,5}#$' AS test;
+------+
| test |
+------+
| 1 |
+------+
1 row in set (0.00 sec)
解释如下:以四位数字开头,‘#’结尾,用‘#’分隔
1438:四位数10031:五位数
0:取值范围-999到999
4:取值范围-999到999
注:10031#0#4# 这一部分最多出现5次,最少一次
我写了这样的一个正则表达式 请你帮忙看看,哪里错了mysql> SELECT '1438#10031#0#4#10032#5#0#10034#1#0#' REGEXP'^[0-9]{4}#([0-9]{5}#(
[0-9]{3}|-[0-9]{3})#([0-9]{3}|-[0-9]{3})#){1,5}$'
-> ;
+-------------------------------------------------------------------------------
--------------------------------------+
| '1438#10031#0#4#10032#5#0#10034#1#0#' REGEXP'^[0-9]{4}#([0-9]{5}#([0-9]{3}|-[0
-9]{3})#([0-9]{3}|-[0-9]{3})#){1,5}$' |
+-------------------------------------------------------------------------------
--------------------------------------+
|
0 |
+-------------------------------------------------------------------------------
--------------------------------------+
1 row in set (0.00 sec)