首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用一个字符串中的括号替换两个单独的正则表达式

用一个字符串中的括号替换两个单独的正则表达式
EN

Stack Overflow用户
提问于 2014-11-10 09:32:34
回答 1查看 68关注 0票数 1

我试图用两个分数"x={2x-21}/{x+12}+{x+3}/{x-5}“替换字符串,将其替换为字符串"x=\frac{2x-21}{x+12}+\frac{x+3}{x-5}”(即从jqMath转换为LaTex)。

为此,我编写了以下代码:

代码语言:javascript
复制
var initValue = "(\{.*\}(?=\/))\/(\{.*\})";
var newValue = "\\frac$1$2";
var re = new RegExp (initValue,"g");
var resultString = givenString.replace(re,newValue);
return resultString;

这段代码似乎适用于只有一个分数的字符串(例如"x={2x-21}/{x+12}"),但当我尝试将其应用于两个分数的示例时,结果是x=\frac{2x-21}/{x+12}+{x+3}{x-5}。据我所知,regex引擎捕获{2x-21}/{x+12}+{x+3}作为第一个组,{x-5}作为第二个组。有没有办法用正则表达式得到我想要的结果?

同样的问题也适用于带有几个非嵌套分隔符的其他模式,例如:“我喜欢咖啡(除了拿铁)和茶(包括薄荷茶)”。是否有可能在括号内捕获这两种语句?

如果没有,我可能需要为此编写一个函数(这是可以的,但我想确保这是正确的方法)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-10 09:37:53

代码语言:javascript
复制
({[^}]+})\/({[^}]+})

试试this.See demo.Repalce by \\frac$1$2

http://regex101.com/r/tF5fT5/24

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

https://stackoverflow.com/questions/26840562

复制
相关文章

相似问题

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