#regex #regex-lookarounds
#регулярное выражение #regex-поисковые запросы
Вопрос:
Я должен создать регулярное выражение, в котором есть условие, в котором говорится, что если я встречаю определенный специальный символ, я также должен найти другой специальный символ.
Например, если я нахожу символ {
в своей строке, эта конкретная строка будет считаться допустимой строкой, только если она также есть }
в ней. Я попробовал свои силы в поиске, но я все еще не могу понять это с помощью поиска бесконечной ширины.
Допустимые строки:
пример{}
пример{пример}
пример}пример{
Недопустимые строки:
пример{пример
примера}пример
Комментарии:
1. Пока эти специальные символы не являются вложенными, регулярное выражение для их сопоставления может быть записано, но не в том случае, если они вложены.
Ответ №1:
Регулярное выражение, которое выполняет именно то, что задано:
^[^{}n]*$|^(?=[^{n]*{)(?=[^}n]*}).*
Матчи
- либо строка, которая не содержит
{
или}
- или строка, которая содержит хотя бы один
{
и хотя бы один}