正则表达式:仅在搜索到的字符之间存在字符时才捕获

时间:2019-05-03 09:30:43

标签: regex

在我的LaTeX工作中,我需要使用\|(.*?)\|进行正则表达式搜索以捕获|whatever|并将其替换为\somecommand{$1}。但是我不想捕获||(也就是说,它们之间什么都没有。)如何优化正则表达式搜索?

(顺便说一句,我的标题应该是什么,以便对他人有用?)

2 个答案:

答案 0 :(得分:2)

将您的正则表达式更改为

\|[^|]+\|

OR

\|.+\|

如果您还想在搜索到的内容之间捕获管道

答案 1 :(得分:1)

您必须将星号(匹配0+次)更改为加号,以使量词至少匹配1个字符。

\|(.+?)\|
    ^