Я бы не назвал себя мастером в области регулярных выражений, я просто знаю основы.Я играл с этим, но я не могу получить желаемый результат.Так что, если кто-нибудь мне поможет, я был бы очень признателен!
Я пытаюсь проверить, есть ли в строке нежелательные слова.Я работаю над математическим проектом, и я буду использовать eval () для вычисления строки, поэтому мне нужно убедиться, что она безопасна.
Строка может содержать (например, теперь яПозже я добавлю больше функций) следующие слова: (прочитайте комментарии)
floor() // spaces or numbers are allowed between the () chars. If possible, i'd also like to allow other math functions inside, so it'd look like: floor( floor(8)*1 ).
It may contain any digit, any math sign (+ - * /) and dots/commas (,.) anywhere in the string
Просто для ясности, вот еще один пример: если строка, подобная этой, передана, я не хочу, чтобы это прошло:
9*9 + include('somefile') / floor(2) // Just a random example on something that's not allowed
Теперь, когда я думаю об этом, это выглядит довольно сложно.Я надеюсь, что вы, по крайней мере, можете дать мне несколько советов.
Заранее спасибо, -Антони
Редактировать: Это немного не по теме, но если вы знаете лучший способ вычисления математических функцийПожалуйста, предложите это.Я искал безопасный математический класс / функцию, которая вычисляет входную строку, но я еще не нашел ее.