Regex добавить пробелы вокруг кавычек, если не существует? - PullRequest
0 голосов
/ 29 января 2020

Проблема заключается в добавлении пробелов вокруг встроенного кода уценки:

Преобразуйте это:

xxx`code1`xxx `code2`xxx `code3` xxx

в:

xxx `code1` xxx `code2` xxx `code3` xxx

Мое решение -

((?<![\s])`[^`]*?`(?![\s]))

Но это не соответствует «в паре», вот живая версия:

https://regexr.com/4t570

1 Ответ

0 голосов
/ 29 января 2020

Вы можете сопоставить размеченный код путем захвата строки между обратными галочками, за которой следует четное количество обратных штрихов (0, 2, 4 и c.). Игнорируйте все пробелы с каждой стороны строки и заменяйте ее строкой, заключенной в один пробел, то есть соответствует:

\s*(`[^`]*`)\s*(?=(?:[^`]*`[^`]*`)*[^`]*$)

и заменяйте на (<space> = пробел

<space>$1<space>

Демонстрация по регулярному выражению regex101

Обратите внимание, что для этого требуется , чтобы балансировались обратные тики (т. Е. Четное число в строке, и не должно быть никаких экранированных обратных кавычек (\`) в строке.

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