Регулярное выражение для буквенных фигурных скобок в R - PullRequest
2 голосов
/ 29 марта 2019

Я не эксперт по Regex в R, но я чувствую, что сначала прочитал документы достаточно долго и все еще не очень, поэтому я публикую здесь.

Я пытаюсь заменить следующую строку, все буквально как написано:

a = "\\begin{tabular}"
a = gsub("\\begin{tabular}", "\\scalebox{0.7}{
\\begin{tabular}", a)

Желаемый вывод: cat('\\scalebox{0.7}{ \\begin{tabular}')

Так что я знаю, что мне нужно экранировать от первых "\" до "\", но когда я убираю скобки, я получаю

Error: '\}' is an unrecognized escape in character string starting...

1 Ответ

1 голос
/ 05 апреля 2019

В вашем случае, так как вы хотите заменить фиксированную строку, вы можете просто установить опцию fixed = T, чтобы полностью избежать регулярных выражений.

a = "\\begin{tabular}"
a = gsub("\\begin{tabular}", "\\scalebox{0.7}{\n\\begin{tabular}", x=a, fixed= T)

и используйте \n для новой строки.

Если вы действительно хотите использовать регулярное выражение, вам нужно убрать фигурную скобку в шаблоне, используя две обратные косые черты вместочем один.

например,

a = "\\begin{tabular}"

gsub(pattern = "\\{|\\}", replacement = "_foo_", x=a)

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