Вы не можете обнаружить регулярные выражения с регулярным выражением, так как сами регулярные выражения не являются регулярными языком .
Однако самое простое, что вы, вероятно, могли бы сделать, это попытаться скомпилировать регулярное выражение из содержимого текстового поля, и, когда это удастся, вы знаете, что это регулярное выражение. Если это не удается, вы знаете, что это не так.
Но это также классифицирует обычные строки, такие как "foo", как регулярное выражение. В зависимости от того, что вам нужно сделать, это может быть или не быть проблемой. Если это строка поиска, то результаты для этого случая идентичны. В случае «foo.bar» они будут отличаться, хотя, поскольку это допустимое регулярное выражение, но оно соответствует другим параметрам, чем сама строка.
Мой совет, также изложенный в другом комментарии, заключается в том, что вы просто всегда включаете поиск регулярных выражений, поскольку различий между путями кода здесь нет. Помимо сомнительного выигрыша в производительности (который вряд ли что-то изменит, если вообще будет много пользы).