在一个字符串中用括号替换两个单独的正则表达式
Replacing two separate regular expressions with brackets within one string
我正试图用一个字符串替换带有两个分数的字符串"x={2x-21}/{x+12}+{x+3}/{x-5}"x=''frac{2x-21}{x+12}+''frac{x+3}{x-5}"(即从jqMath转换为LaTex)。
为了实现这一点,我编写了以下代码:
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{2x21}/{x+12}+{x+3}{x-5}。据我所知,正则表达式引擎捕获{2x-21}/{x+12}+{x+3}作为第一组,捕获{x-5}作为第二组。有什么方法可以用正则表达式得到我想要的结果吗?
同样的问题也适用于其他有几个非嵌套分隔符的模式,例如:"我喜欢咖啡(拿铁除外)和茶(包括薄荷茶)"。是否可以在括号中捕获这两个语句?
如果没有,我可能必须为此编写一个函数(这是可以的,但我想确保这是正确的方法)。
({[^}]+})'/({[^}]+})
试试这个。请参阅演示。由''frac$1$2
修复。
http://regex101.com/r/tF5fT5/24
相关文章:
- 填写表单后替换两个变量
- Regex表达式,用于替换两个字符(包括字符)之间的字符串
- 替换两个字符串之间的多行文本
- JavaScript 检查并替换两个字符串
- 如何在 javascript 中替换两个声明字符之间的字符串
- 在一个字符串中用括号替换两个单独的正则表达式
- 替换两个单词之间的文本
- 如何替换两个符号之间出现的所有字符串
- javascript Regex:用一个逗号替换两个逗号,,->,.
- 替换两个字符串之间的Regex多重匹配
- 替换两个标签之间的HTML
- 如何在阿拉伯语 JavaScript 中用数组中的两个匹配单词替换两个单词
- 用空格替换两个相同的字符
- 用正则表达式替换两个以上的换行符
- 如何替换两个分隔符之间的文本
- 替换两个文档.从两个输入写入值
- 你能用this.queryText.replace替换两个不同的文本吗?
- JavaScript Regex替换两个注释标签之间的字符串
- 替换两个引号之间的字符串
- 用占位符替换两个关键字的正则表达式,其中1可以是另一个关键字的一部分