Проверьте, может ли строка быть сформирована из определенного набора символов.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Проверьте, может ли строка быть сформирована из определенного набора символов.

Сообщение Anonymous »

Я работаю с цифровыми строками длиной от 4 до 8 цифр в диапазоне от 0001 до 99999999. Примеры:
  • 0010
  • 877565
  • 90204394
Мне нужно проверить, может ли числовая строка быть сформирована из определенного набор. Думайте об этом как о мешочке для скрэббла с разными персонажами. В наборе содержится:
  • 2 раза 0 (00)
  • 4 раза 1 (1111)
  • 3 раза 2 (222)
  • 2 раза 3 (33)
  • 3 раза 4 (444)
  • 5 раз по 5 (55555)
  • 2 раза по 6 (66)
  • 5 раз по 7 (77777)
    2 раза по 8 (88)
  • 2 раза по 9 (99)
С помощью этого определенного набора цифр строка 0010 не может быть сформирована, поскольку в ней слишком много 1 нуля: нужно 3, но набор предоставляет только 2. Результат должен быть: false.Напротив, строка 90204394 может быть сформирована, поскольку определенный набор содержит достаточное количество каждой цифры. Это соответствует параметрам; желаемый результат: true.
Я решил выполнить проверку с помощью регулярного выражения, потому что оно вернет либо true, либо false, что в данном случае идеально. У меня получилось следующее:

Код: Выделить всё

preg_match('/(0{0,2}1{0,4}2{0,3}3{0,2}4{0,3}5{0,5}6{0,2}7{0,5}8{0,2}9{0,2})/', $string);
К сожалению, я получаю результат, что каждая проверенная строка выдает true, даже если она явно не может быть сформирована; например 08228282 (поскольку он содержит одну 8 и одну 2 слишком много).
Что мне здесь не хватает?

Подробнее здесь: https://stackoverflow.com/questions/790 ... racter-set
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»