正则表达式匹配每行和跨行多次,但不是在评论后

时间:2015-05-21 22:31:43

标签: regex

我有以下多行字符串:

asd \cite[1][2]{foo, bar} asdf \cite{baz, bar}
foo \citet{lorem} % \cite{asd}
foo \citep{ipsum}
\citep{dolor, sit,
amet}

我希望匹配大括号内的所有内容(包括dolor, sit, amet),但如果它被注释掉(%之后)则不会。我不知道评论后会发生什么 - 它可能是任意数量的空格或字符。我目前使用以下正则表达式:

 \\cite[tp]?\s*\[?.*?\]?\s*\{(.*?)\}.*?

这也与注释掉的部分相符。如何确保不会发生?

See example on regex101

1 个答案:

答案 0 :(得分:1)

你可以使用负面的后视:

_request

Demo