| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > регулярное выражение |
| Автор: GrafF812 17.3.2010, 18:43 | ||||
| здавтствуйте, помогите составить регулярное выражение, мне нужно проверить на соответсвие два вида шифров: 1)
и 2)
нужно чтобы коды были именно в такой последовательности, т.е в первом случае в коде должно быть 3 русские буквы затем сразу после них 2 цифры, затем минус, затем две цыфры и т.д. во втором соответственно 4 цифры, затем минус, затем 3 цифры. В общем случае мне нужно чтобы эти коды строго соответствовали этому формату. Спасибо! |
| Автор: bars80080 17.3.2010, 20:03 | ||
наверно так |
| Автор: GrafF812 17.3.2010, 21:25 | ||
bars80080, спасибо. я именно так и делал, но почему-то если проверяю строку такого вида:
то она тоже удовлетворяет первому шаблону (хотя не должна т.к требуется только 3 первых символа) |
| Автор: bars80080 18.3.2010, 12:06 | ||
может так
? ну и можно просто повторить [0-9][0-9]... нужное число раз |
| Автор: GrafF812 18.3.2010, 17:46 | ||
bars80080, + Спасибо Вам большое все получилось, подскажите последний вопрос, мне нужно написать регулярное выражение для проверки на правильность формата сразу двух видов кодов такого вида:
|
| Автор: bars80080 18.3.2010, 18:02 | ||
может так? |
| Автор: patap 18.3.2010, 18:54 | ||
|
| Автор: GrafF812 18.3.2010, 21:06 |
| спасибо, поясните пожалуйста: 1) \d означает целое число от 0 до 9 ? 2) Что обозначает символ '?' в части (-\d{2})? |
| Автор: patap 18.3.2010, 22:50 |
| 1. \d - одиночная цифра 2. ? - это тоже самое, что {0,1} - может быть может не быть. -\d{2} - это соответствует выделенной части 7364-8578-76. Взяли его в скобки (-\d{2}), чтобы сгрупировать. И добавили ?, чтобы указать, что данная группа может как быть, так и не быть |
| Автор: GrafF812 19.3.2010, 00:01 |
| patap, Спасибо Вам большое за помошь! |