0

I have a string containing LaTeX code, for example \emph{some words here} and I want to get Markdown syntax, for example,*some words here*. I tried:

s <- "some text in \\emph{italics} and some more ..."
pattern <- "\\\\emph\\{(.*)\\}"
gsub(pattern,"*\\1*", s)

> "some text in *italics* and some more ..."

However, I do not succeed at handling multiple occurences in one string.

s <- "some text in \\emph{italics} and some \\emph{more italics} and ..."
gsub(pattern,"*\\1*", s)

> "some text in *italics} and some \\emph{more italics* and ..."

I guess I need a non-greedy version which handles multiple occurrences, but I am not sure how to do it. Any ideas?

Mark Heckmann
  • 10,943
  • 4
  • 56
  • 88

1 Answers1

1

Use lazy ? quantifier like this.

Regex: \\\\emph{(.*?)}

Regex101 Demo