Я пытаюсь пометить слово или предложение одной скобкой, эта скобка может быть расположена слева или справа и в середине слова или предложения.
Другие слова или предложения в инструменте regex101 не должны мешать
Пример ниже https://regex101.com/r/9PCacf/14
Как-то так (если у вас все просто с поиском неисправных строк)
^(?: # Start of line and alternation group
.*[[{(«][^\]})»\n]* # un-closed
|
[^[{(«\n]*[\]})»].* # never opened
|
.*\w[[{(«].* # opened mid-word
|
.*[\]})»]\w.* # closed mid-word
)$ # End of line and alternation group
Смотрите это здесь на regex101.
Редактировать:
Для парного тестирования различных типов скоб используйте
^(?:\([^)\n]*|[^(\n]*\).*|\[[^]\n]*|[^[\n]*\].*|{[^}\n]*|[^{\n]*}.*|«[^»\n]*|[^«\n]*».*|.*\w[[{(«].*|.*[\]})»]\w.*)$
Труднее читать (дольше), но может быть более точным для вас.
Других решений пока нет …