首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正则表达式以每行和跨行多次匹配,但不是在注释之后

正则表达式以每行和跨行多次匹配,但不是在注释之后
EN

Stack Overflow用户
提问于 2015-05-22 06:31:43
回答 1查看 408关注 0票数 1

我有以下多行字符串:

代码语言:javascript
运行
复制
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),但如果它被注释掉了(在%之后),就不匹配了。我不知道注释后面是什么-它可能是任意数量的空格或字符。我目前使用的正则表达式如下:

代码语言:javascript
运行
复制
 \\cite[tp]?\s*\[?.*?\]?\s*\{(.*?)\}.*?

这也与注释掉的部分相匹配。如何才能确保这种情况不会发生?

See example on regex101

EN

Stack Overflow用户

发布于 2015-05-22 06:39:43

为此,您可以使用负向回看:

代码语言:javascript
运行
复制
(?<!%)\s\\cite[tp]?\s*\[?.*?\]?\s*\{(.*?)\}.*?

Demo

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30385432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档