За последние 24 часа нас посетили 20811 программистов и 1135 роботов. Сейчас ищут 334 программиста ...

Регулярка, чтобы в строка вся состояла из определенных символов.

Тема в разделе "Регулярные выражения", создана пользователем Познающий php, 6 апр 2017.

  1. Познающий php

    Познающий php Новичок

    С нами с:
    23 мар 2017
    Сообщения:
    381
    Симпатии:
    74
    Шалом Алейкум! Уже не первый день потею с PCRE но никак не удается решить задачу. Хелпаните =)

    Хочу парсить математические примеры и скажем мне надо проверять чтобы строка состояла ТОЛЬКО из арифметических символов(+-*/), скобочек и цифр в ЛЮБЫХ последовательностях. Как сделать такую регулярку?

    PHP:
    1. $math = '5.5+25/3*4.2'; // - такое должно проходить
    2. $math = '5x+25/3'; // - такое НЕ должно проходить
    3. preg_match('/(\+)|(\-)|(\*)|(\/)|(\d)/', $math) // это проверит на любой математический символ и цифру, а надо чтобы проверяло чтобы не было ничего кроме них
     
    #1 Познающий php, 6 апр 2017
    Последнее редактирование: 6 апр 2017
  2. Познающий php

    Познающий php Новичок

    С нами с:
    23 мар 2017
    Сообщения:
    381
    Симпатии:
    74
    Пару часов искал, а тему создал и вроде осенило.
    Немного изменил логику
    PHP:
    1. preg_match('/[^(\+)(\-)(\*)(\/)(\d)]/', $math)
    Получает что если у нас есть любой символ кроме тех которые нам нужны, то он выдаст 1, нет - 0

    Вроде проверил, работает :p
     
    denis01 нравится это.