2017-02-13 5 views
-1

Я использую preg_match, чтобы найти две буквы и 4-6 цифр, но должен быть дефис - персонаж посередине. Я начинаю оттуда:preg_match regex с фиксированным символом в середине

if (preg_match("/^[a-zA-Z]{2}\W[0-9]{4,6}$/"... 

Я вышел с этим решением, где я использую \W как любое «не-слово» характер. Но я знаю, что это будет дефис, поэтому я хотел бы быть более конкретным.

if (preg_match("/^[a-zA-Z]{2}.-.[0-9]{4,6}$/"... 
+1

Замените' \ W' на '-' –

+0

Не могли бы вы уточнить, нужно ли проверить, что вся строка ** - это две буквы, дефис и 4-6 цифры, или вам нужно ** найти ** подстроку из двух букв, дефис и 4-6 цифр в более крупной строке? Неплохая идея написать примерную строку в вашем вопросе. –

+0

да, Я думаю, что мое описание покрыло это. :) – syluccy

ответ

-1

вау, ответ Wiktor Stribiżew был его. я не знаю, что это было так легко ...

так что

если (preg_match ("/^[A-Za-Z] {2} - [0-9] {4,6 } $/"...

0

Было бы достаточно, чтобы заменить \W с фиксированный характер:

if (preg_match("/^[a-z]{2}-\d{4,6}$/i"... 
Смежные вопросы