Удалить открывающую скобу только при следующем закрытии - PullRequest
1 голос
/ 06 августа 2020

У меня есть этот случай, например:

Важная информация \ hl {для проверки} позже. textbf {test}.

Я хочу удалить только скобки, начинающиеся с \ hl и закрывающие закрытие, чтобы получить:

Некоторая важная информация, которую нужно проверить позже. textbf {test}.

Я могу удалить открывающую строку с помощью /\\hl{/g. Это удалит «\ hl {», но как удалить ближайшую закрывающую скобку?

Я пробовал что-то вроде этого \\hl{[^}]*\K}, но это удаляет только закрывающую скобку. Я так близок и понятия не имею, как объединить эти двое вместе?

Ответы [ 2 ]

1 голос
/ 06 августа 2020

Вы можете использовать следующий шаблон:

\\hl\{([^}]*)\}

.. и заменить его на \1.

Demo .

Разбивка:

\\hl        # Matches "\hl" literally.
\{          # Matches an opening curly bracket.
([^}]*)     # Matches zero or more character other than closing curly brackets 
            # and captures them in group #1.
\}          # Matches a closing curly bracket.

Затем вы используете \1, чтобы заменить все, что было сопоставлено тем, что было захвачено в группе # 1.

0 голосов
/ 06 августа 2020

в python, у меня это сработало: re.subn ('\\ hl {|}', '', x), где x = "Некоторая важная информация \ hl {для проверки} позже. Textbf { test}. "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...