大侠帮我写个车牌的PHP正则表达式

2025-01-02 05:26:32
推荐回答(2个)
回答1:

$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位无效,责任在出题不严谨

回答2:

$mode="/^A [AB]{4}$/";