gpt4 book ai didi

javascript - 正则表达式 :inserting * make it computable

转载 作者:行者123 更新时间:2023-11-29 21:40:11 25 4
gpt4 key购买 nike

我有一个正则表达式作为

伊辛(yx)

我需要插入 * 作为 y*sin(y*x)

假设我的方程是 yxsin(y) 我需要输出为 y*x*sin(y)我试过这段代码

function addStars(str) {
return str.replace(/(\))([A-Za-z])/g,function(str, gr1, gr2) { return gr1 + "*" + gr2 }).replace(/x([A-Za-wy-z])/g,function(str, gr1) { return "x*" + gr1 });
}
var t=addStars("ysin(yx)");
alert(t);

这段代码有什么问题。

最佳答案

我建议在这种情况下使用常规反向引用,因为您没有分析或操作捕获组。问题是您试图将 ) 之后的某个字母与 /(\))([A-Za-z])/g 匹配 - 而您没有在您的示例字符串 ysin(yx) 中的 ) 之后有任何文本。

这是一个可能的修复方法,我将 xy 组合到一个字符类中,并设置一个捕获组以便能够在结果中恢复它们:

function addStars(str) {
return str.replace(/([xy])([A-Za-xz])/g,"$1*$2");
// | | ^
// ----------------------|
}
var t=addStars("ysin(yx)");
document.write(t + "<br/>");
var t=addStars("yxsin(y)");
document.write(t);

关于javascript - 正则表达式 :inserting * make it computable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33230183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com