Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: анализ регулярных выражений
Форумы портала PHP.SU » PHP » Регулярные выражения » анализ регулярных выражений

Страниц (1): [1]
 

1. reqyz - 13 Мая, 2016 - 09:49:01 - перейти к сообщению
Доброго времени суток коллеги)

к сожалению с регулярными выражениями сталкивался крайне редко в своей практике, но вот была поставлена задача, получить некоторые данные, анализируя регулярное выражение, а именно: максимальная и минимальная длина строки, которая подходит под это регулярное выражение, и все символы, которые могут быть использованы в данной строке,
порядок, "или", всё это не важно, только длины и всевозможные символы.

Понимаю что задача нетривиальная, и никто за меня делать не будет, но может кто то знает опен сорсы, которые решают что то подобное, готовые функции, или другие готовые решения, которые я мог бы переделать, или уже использовать, заранее благодарен
2. andrewkard - 13 Мая, 2016 - 12:42:38 - перейти к сообщению
reqyz
Прогоните через https://regex101[dot]com/
3. reqyz - 13 Мая, 2016 - 19:50:02 - перейти к сообщению
andrewkard пишет:
reqyz
Прогоните через https://regex101.com/

мне сама функция нужны, или исходники, там я их не нашел
4. Строитель - 13 Мая, 2016 - 19:57:03 - перейти к сообщению
reqyz, а есть пример искомого текста? На примере я бы попробовал составить шаблон для поиска текста.
5. IllusionMH - 13 Мая, 2016 - 20:09:08 - перейти к сообщению
reqyz, там JS загружается который парсит регулярки. Откройте Сеть в Девтулах и смотрите что запрашивается. Потом разбирайтесь в их парсере.
6. reqyz - 14 Мая, 2016 - 09:51:01 - перейти к сообщению
Строитель пишет:
reqyz, а есть пример искомого текста? На примере я бы попробовал составить шаблон для поиска текста.


например входящий параметр = '^[a-zA-Z0-9_]{1,}$' и мы понимаем что минимальная длина строки 1 символ, максимальная - бесконечность, и что возможные символы это все буквы английского алфавита, цифры и нижнее подчеркиваание

или вот: '([wx])([yz])' - тут очевидна что минимальное и максимальное количество символов = 2, символы включают в себя буквы

т.о. анализируются именно регулярки, они могут быть и более сложными, то-есть их конструкция не ограниченна
7. Строитель - 14 Мая, 2016 - 10:20:36 - перейти к сообщению
reqyz, так а в чём собственно вопрос?
8. reqyz - 14 Мая, 2016 - 10:30:09 - перейти к сообщению
Строитель пишет:
reqyz, так а в чём собственно вопрос?
вопрос в том, знает ли кто исходники функций или проектов, которые анализируют регулярки

а задача в том, чтобы анализируя регулярное выражение получать максимальную и минимальную длину строки, которая могла бы подойти под эту регулярку, и всевозможные символы, которые она предусматривает

 

Powered by ExBB FM 1.0 RC1