Как проверить, не является ли регулярное выражение вредным для PHP?

Я работаю над проектом. Этот проект имеет пользовательский интерфейс, который мы написали в PHP. В части управления есть ввод формы, где пользователю необходимо ввести регулярное выражение. Как я знаю, я не могу проверить, является ли регулярное выражение или нет, потому что каждая строка является регулярным выражением. Что я хочу сделать, это проверить, является ли этот ввод правильным или нет? Каким образом я могу это сделать?

Это очень сложно сделать, анализируя регулярное выражение (не говоря уже о самом синтаксическом анализе самого регулярного выражения).

Я предлагаю вам использовать консервативные настройки для pcre.backtrack-limit и pcre.recursion_limit .

Это действительно зависит от того, что вы ожидаете от программы. Если вы пишете тестер регулярных выражений, вам просто нужно иметь другое поле, где они могут ввести строку, чтобы проверить ее. Затем используйте String.test(/regex/) или String.match(/regex/) чтобы убедиться, что это хорошо для этой строки.