我们有:
preg_match('/^([А|В|Е|К|М|Н|О|Р|С|Т|У|Х].)(?:[\d]{3})(?:[АВЕКМНОРСТУХ].){2}(?:[\d]{2,3})$/', 'Ф123АХ123');
reg exp,但它不能用1-st输入和第二次非贪婪。
我也尝试过UTF-8十六进制代码,但它没有用,:
preg_match('/^([x\{0445}x\{0446}].)(?:[\d]{3})(?:[x\{0445}x\{0446}].){2}(?:[\d]{2,3})$/u', 'Х123ЦЦ123');
请记住它是西里尔字母 - 魔法俄罗斯字符=)
任何帮助,特别是具体的帮助 - 将不胜感激。
答案 0 :(得分:1)
这似乎可以满足您的需求:
/^([АВЕКМНОРСТУХ])(\d{3})([АВЕКМНОРСТУХ]{2})(\d{2,3})$/u
示例:
preg_match('/^([АВЕКМНОРСТУХ])(\d{3})([АВЕКМНОРСТУХ]{2})(\d{2,3})$/u', 'Ф123АХ123', $m);
print_r($m); // nothing, because Ф doesn't match
preg_match('/^([АВЕКМНОРСТУХ])(\d{3})([АВЕКМНОРСТУХ]{2})(\d{2,3})$/u', 'У123АХ123', $m);
print_r($m); // matches
作为一般建议,当使用非拉丁输入的pcre时,请确保