Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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 - Fatal编程技术网

Javascript 需要替换的正则表达式模式

Javascript 需要替换的正则表达式模式,javascript,regex,Javascript,Regex,我不太擅长正则表达式,所以需要社区的帮助。感谢您的帮助。 我有一个字符串如下 String str= "accountnumber,10000,accountname,Nachiket,balance,null,age,38" 我需要一个正则表达式模式来替换,10000,或,Nachiket,或,null, 字符串应该看起来类似 String str= "accountnumber,10000\naccountname,Nachiket\nbalance,null

我不太擅长正则表达式,所以需要社区的帮助。感谢您的帮助。 我有一个字符串如下

String str= "accountnumber,10000,accountname,Nachiket,balance,null,age,38"
我需要一个正则表达式模式来替换,10000,或,Nachiket,或,null, 字符串应该看起来类似

String str= "accountnumber,10000\naccountname,Nachiket\nbalance,null\nage,38"
这是我的要求。我试过下面的模式

String str=str.replace(",/[^a-z0-9-]/,",',/[^a-z0-9-]//n')
谢谢,
Nachiket

似乎您正在尝试对值进行分组,如
accountnumber、10000
accountname、Nachiket
等。在这种情况下,您可以只搜索两个单词和两个逗号模式。大概是这样的:-

(.*),(.*),

Regex101样本-

下面是JavaScript实现

let str=“accountnumber,10000,accountname,Nachiket,balance,null,age,38”
设模式=/(.*),(.*),/g
让输出=str.replace(模式,(匹配)=>{
//匹配项将是=>accountnumber、10000、=>accountname、Nachiket等
//使用slice删除最后一个字符(逗号)
返回匹配。切片(0,-1)+“\n”
})

console.log(output)
不使用replace,您可以匹配除逗号以外的任何字符,然后是匹配逗号的可选部分,再匹配除逗号以外的任何字符

如果不想跨行,可以在求反字符类中使用
\n
,或者如果不想匹配空格,可以使用
[^,\s]+

[^,\n]+(?:,[^,\n]+)?

const regex=/[^,\n]+(?:,[^,\n]+)?/g;
[
“accountnumber,10000,accountname,Nachiket,balance,null,age,38”,
“测试1”,
“test2,test2”,
测试3,测试3,测试3

].forEach(s=>console.log(s.match(regex))k。。我尝试了以下字符串str=str.replace(“,/[^a-z0-9-]/,”,“,”,/[^a-z0-9-]////n”)发布的答案对你有用吗?