| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Тексты > Найти символы в строке |
| Автор: garden 7.10.2011, 00:21 | ||
| Доброй ночи. Помогите, пожалуйста, составить выражение для поиска символов в строке. Есть 2 строки:
Мне необходимо составить регулярное выражение, для поиска только трех единиц. Т.е. вторая строка верная, первая нет. |
| Автор: ayax2005 7.10.2011, 08:39 |
| как-то так [^1]+(1{3}){1}[^1]+ |
| Автор: Evghenusi 7.10.2011, 13:19 |
| ayax2005, http://www.regexpr.ru/?pattern=%2F%5B%5E1%5D%2B%281%7B3%7D%29%7B1%7D%5B%5E1%5D%2B%2F&subject=0001111000%0D%0A0001110000? |
| Автор: ayax2005 7.10.2011, 13:22 |
| Evghenusi, расскажу один секрет - по твоей ссылке проверка идёт всего текста, а не построчно) Проверяй поочерёдно. Я писал в kiki. |
| Автор: Evghenusi 7.10.2011, 13:23 |
| а я предлагаю такой варЬЯнт : /^(0+|1{3}|[^1])+$/m , хотя наверно есть и более красивое решение. Добавлено через 1 минуту и 28 секунд /[^1]+(1{3}){1}[^1]+/m так? понял я, понял. Добавлено через 3 минуты и 45 секунд хотя если будет 6 единиц, мой вариант подведёт |
| Автор: Evghenusi 7.10.2011, 13:50 |
| можно наверно мою сократить /^(1{3}|[^1])+$/m |
| Автор: ayax2005 7.10.2011, 13:56 |
| Evghenusi, 1110000111? |
| Автор: Evghenusi 7.10.2011, 18:24 |
P.S. кстати, ayax2005, если приглядеться, то ваше РВ не пропускает 1110000000 и 0000000111 |
| Автор: cutwater 7.10.2011, 19:34 | ||
|