Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 满足条件时正则表达式匹配逗号_Javascript_Regex_Negative Lookbehind - Fatal编程技术网

Javascript 满足条件时正则表达式匹配逗号

Javascript 满足条件时正则表达式匹配逗号,javascript,regex,negative-lookbehind,Javascript,Regex,Negative Lookbehind,目前,我在某些情况下遇到匹配逗号的问题 比如说 =5,product_1,product_2,product_3=1,product_9=3,=10,product_11,product_12,product_13,product_14=20 当有=\d+且内部有时,我不想匹配该逗号,因此,在本例中,我想匹配的逗号仅来自产品1、产品2、产品3和产品11、产品12、产品13、产品14=20 事实上,我已经完成了代码,它工作得很好,但我知道代码只适用于符合ECMAScript 2018标准的环境,它

目前,我在某些情况下遇到匹配逗号的问题

比如说

=5,product_1,product_2,product_3=1,product_9=3,=10,product_11,product_12,product_13,product_14=20

当有
=\d+
且内部有
时,我不想匹配该逗号,因此,在本例中,我想匹配的逗号仅来自
产品1、产品2、产品3
产品11、产品12、产品13、产品14=20

事实上,我已经完成了代码,它工作得很好,但我知道代码只适用于符合ECMAScript 2018标准的环境,它不支持Mozilla、ie等浏览器

这是我的正则表达式代码

(?<!\s*[=]\s*\d+)\,\s?(?![^\<]*\>)

尽管这不是一个单独的regexp,但这可能是您需要的:

s.replace(/(<[^>]*>)/g,'\n$1\n')
 .split('\n')
 .map(x=> /</.test(x)?x:x.replace(/(_\d+),/g,"$1/"))
 .join('')
s.replace(/(]*>)/g,'\n$1\n')
.split(“\n”)
.map(x=>/您可以使用和回调函数

在替换中,您可以匹配您想要的和不想要的。在替换函数中,您可以检查匹配是否为单个逗号,并将其替换为正斜杠

<[^<>]+>|=\d+,|,
|=\d+,|,

例如:

let pattern=/|=\d+,|,/g;
设str=`=5,乘积_1,乘积_2,乘积_3=1,乘积_9=3,=10,乘积_11,乘积_12,乘积_13,乘积_14=20`;
str=str.replace(模式、功能($m){
返回$m==”,“?”/”:$m;
});

console.log(str);
您好,我已经更新了问题并显示了输出..您能检查一下预期的输出吗?当
产品的值没有
\ucode>时,存在一种情况,因此它不工作,当我从
(\ud+)修改您的脚本时
\d+
它替换了所有逗号,除了
这里是输出
=5/product\u 1/product\u 2/product\u 3=1/product\u 9=3/=10/product\u 11/product\u 12/product\u 13/product\u 14=20
,当条件是
\=\d+\,
不要替换逗号。您好,我想问在php中如何替换?
s = '<product_11,product_12>=5,product_1,product_2,product_3=1,product_9=3,<product_5,product_6>=10,product_11,product_12,product_13,product_14=20'
"<product_11,product_12>=5,product_1/product_2/product_3=1,product_9=3,<product_5,product_6>=10,product_11/product_12/product_13/product_14=20"
<[^<>]+>|=\d+,|,