gpt4 book ai didi

javascript - 正则表达式删除任何不是数字或特定单词的内容

转载 作者:行者123 更新时间:2023-11-30 11:09:23 24 4
gpt4 key购买 nike

所以我有一个数学算法创建器,用户可以在其中插入可能变量列表中的变量,然后他们可以创建一个算法,其中只包含那些变量和数字以及数学中使用的字符,如括号和其他字符。我需要一个正则表达式,它将从字符串中删除任何不是这些变量之一或 ().*-+/或数字的内容。我尝试了很多正则表达式,但没有一个能满足我的需要所有变量都必须用大括号括起来。

例如

/^(?!{profitPercent}|{productPrice}|{weight}|{quantityInCart}|{lineTotal}|{cartTotal}|{billingUnits}|{test_111}|{test_213}|{test_prod_input_15}|{test_prod_input_16}).*/g

这只是删除了所有内容,并且没有数字和 () 的异常(exception)。*-+/

假设我有以下字符串:

var str='this is a string with a {productPrice} variable and some 827/100 math in it';

我需要删除除

之外的所有内容
{productPrice}827/100

这是我的代码:

var reg=new RegExp("^(?!{" + escapeString(variableNames.join("}|{")) + "}).*","g");
txt=txt.replace(reg,'');

我试过很多很多不同的表达方式,但都没有用。

最佳答案

我会使用 match 选择所需的值

{[^}]+}|[\d)(.*+/]+
  • {[^}]+} - 匹配 { 后跟任何 }
  • | - 交替。
  • [[\d)(.*+/]+] - 匹配数字、运算符、(, )

let str = `var str='this is a string with a {productPrice} variable and some 827/100 math in it`

let op = str.match(/{[^}]+}|[\d)(.*+/]+/g)

console.log(op.join(''))

关于javascript - 正则表达式删除任何不是数字或特定单词的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54353402/

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