我已经制作了一个 JavaScript 正则表达式来更改 LaTeX 渲染器的垂直条集实例,但是当我在同一段落中有多个此类实例时,它只会影响第一个和最后一个条,当我更喜欢它与每组条形相匹配。正则表达式为:
replace(/\|(.*)\|/g, "\\textsc{$1}");
例如,以下示例:
Lorem |ipsum| dolor sit |amet|, consectetur |adipiscing| elit.
我的正则表达式产生:
Lorem \textsc{ipsum| dolor sit |amet|, consectetur |adipiscing} elit.
但我更希望它以尽可能小的程度匹配所有集合,就像这样;
Lorem \textsc{ipsum} dolor sit \textsc{amet}, consectetur \textsc{adipiscing} elit.
如何最好地纠正我的正则表达式来解决这个问题?
最佳答案
另一种方法是将单个字符添加到原始正则表达式中:
replace(/\|(.*?)\|/g, "\\textsc{$1}");
每个人都知道 * 和 +,但我很惊讶他们的 sibling 如此不受欢迎 *?和+?它们做同样的事情,只不过它们尝试匹配尽可能少的(非贪婪的),而 * 和 + 总是尝试匹配尽可能多的(贪婪的)。
关于javascript - 如何使我的正则表达式匹配集达到最小程度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6400397/