regex — Как пометить слово или предложение в одинарных скобках {, (, [, »с помощью регулярного выражения в инструменте regex101 Переполнение стека

Я пытаюсь пометить слово или предложение одной скобкой, эта скобка может быть расположена слева или справа и в середине слова или предложения.

Другие слова или предложения в инструменте regex101 не должны мешать
Пример ниже https://regex101.com/r/9PCacf/14

введите описание изображения здесь

1

Решение

Как-то так (если у вас все просто с поиском неисправных строк)

^(?:                     # 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.*)$

Труднее читать (дольше), но может быть более точным для вас.

Здесь, в regex101.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]