早教吧作业答案频道 -->其他-->
大侠帮我写个车牌的PHP正则表达式分别列出"京AAAAA"(AAAA表示相同的数字)"京AABBB"(ABBB表示后三位相同)"京AAABB""京AAAAB"我写了半天都是显示不出来车牌.
题目详情
大侠帮我写个车牌的PHP正则表达式
分别列出
"京A AAAA" (AAAA表示相同的数字)
"京A ABBB" (ABBB表示后三位相同)
"京A AABB"
"京A AAAB"
我写了半天都是显示不出来车牌.
分别列出
"京A AAAA" (AAAA表示相同的数字)
"京A ABBB" (ABBB表示后三位相同)
"京A AABB"
"京A AAAB"
我写了半天都是显示不出来车牌.
▼优质解答
答案和解析
$p="你好京A 111145423\nsadjadm,n京A 1222他粤A 5666 京A 7222 \n京A 1122 京A 7788\n京A 2221京A 9998狗狗";
echo '后4位相同';
preg_match_all('/.{2}[A-Z]\s(\d)\1{3}/m',$p,$m);
var_dump($m[0]);
echo '后3位相同';
preg_match_all('/.{2}[A-Z]\s(\d)(?!\1)(\d)\2{2}/m',$p,$m);
var_dump($m[0]);
echo '前2位后2位相同';
preg_match_all('/.{2}[A-Z]\s(\d)\1(?!\1)(\d)\2/m',$p,$m);
var_dump($m[0]);
echo '前3位相同';
preg_match_all('/.{2}[A-Z]\s(\d)\1{2}(?!\1)\d/m',$p,$m);
var_dump($m[0]);
=====================
输出
后4位相同
array
0 => string '京A 1111' (length=8)
后3位相同
array
0 => string '京A 1222' (length=8)
1 => string '粤A 5666' (length=8)
2 => string '京A 7222' (length=8)
前2位后2位相同
array
0 => string '京A 1122' (length=8)
1 => string '京A 7788' (length=8)
前3位相同
array
0 => string '京A 2221' (length=8)
1 => string '京A 9998' (length=8)
符合题意
====
注1:代码按GB2312/GBK中文编码下写的,UTF8要稍加改动
注2:民用车牌后一般是5位数字,但按题目给出的4位数字写的。遇到5位无效,责任在出题不严谨
echo '后4位相同';
preg_match_all('/.{2}[A-Z]\s(\d)\1{3}/m',$p,$m);
var_dump($m[0]);
echo '后3位相同';
preg_match_all('/.{2}[A-Z]\s(\d)(?!\1)(\d)\2{2}/m',$p,$m);
var_dump($m[0]);
echo '前2位后2位相同';
preg_match_all('/.{2}[A-Z]\s(\d)\1(?!\1)(\d)\2/m',$p,$m);
var_dump($m[0]);
echo '前3位相同';
preg_match_all('/.{2}[A-Z]\s(\d)\1{2}(?!\1)\d/m',$p,$m);
var_dump($m[0]);
=====================
输出
后4位相同
array
0 => string '京A 1111' (length=8)
后3位相同
array
0 => string '京A 1222' (length=8)
1 => string '粤A 5666' (length=8)
2 => string '京A 7222' (length=8)
前2位后2位相同
array
0 => string '京A 1122' (length=8)
1 => string '京A 7788' (length=8)
前3位相同
array
0 => string '京A 2221' (length=8)
1 => string '京A 9998' (length=8)
符合题意
====
注1:代码按GB2312/GBK中文编码下写的,UTF8要稍加改动
注2:民用车牌后一般是5位数字,但按题目给出的4位数字写的。遇到5位无效,责任在出题不严谨
看了 大侠帮我写个车牌的PHP正则...的网友还看了以下:
已知实数a.b的数轴上的位置如图所示:试化简:根号(a-b)的平方-a+b的绝对值图显示的是:a是 2020-04-06 …
在数轴上表示数a,b的点AB到表示-2的点C的距离相等,且点A点B间距离为6个长度单位,则a+b- 2020-04-27 …
生活中习惯将“节约,盈利,上升,增加”用正数表示,与其相反意义的量用负数表示,则下列各量可用负数表 2020-05-14 …
一个三位数A,它的百位数字是a,十位数字是b,个位数字是c,且a-c>1,ac不等于0(1)把A的 2020-07-29 …
根据下面给出的数轴,解答下面的问题:(1)观察数轴,与点A的距离为3的点表示的数是:;(2)若将数 2020-07-30 …
如图,在数轴上A点表示数a,B点表示数b,C点表示数c.且a、c满足|a+3|+(c-7)2=0. 2020-07-30 …
在数轴上,数a与他的相反数表示的点相距20个长度单位长度,则a表示的数是多少在1的条件下若|a+x 2020-07-31 …
已知复数Z1=1-2i和Z2=4+3i分别对应复平面A.B线段A,B的垂直平分线方程的复数形式,并 2020-08-01 …
1.数a,b的绝对值分别为2和5,且数轴上表示a的点在表示b的点的左侧,则b的值为()2.已知x-4 2020-11-06 …
如图:在数轴上点A表示数a,点B表示数b,点C表示数c,b是最大的负整数,且a、c满足|a+3|+( 2020-11-20 …