Выдумывать не буду, в регулярных выражениях не шарю от слова совсем.
Максимум проверить на вхождение или т.п.
Нужно проверить в строке правильность открытых и закрытых скобок.
Пример:
- тут ((люая) строка) - это правильно.
- если строка вообще без скобок, это тоже правильно.
- тут )(люая) строка) или тут ((люая) строка и т.д. - это не правильно.
Пробовал так: /^[^()\n]*+(\((?>[^()\n]|(?1))*+\)[^()\n]*+)++$/m
Работает правильно, но если строка без скобок вообще, то возвращает такой же результат как и с не правильными скобками