Javascript 从正则表达式中删除逗号
我有以下JavaScript代码行,用于从字符串中删除字符(包括逗号):Javascript 从正则表达式中删除逗号,javascript,regex,Javascript,Regex,我有以下JavaScript代码行,用于从字符串中删除字符(包括逗号): return str.replace(/(?!\/)(?!\ )(?!\-)(\W)/ig, ''); 我怎样才能只取出删除逗号的代码段?正则表达式/(?!\/)(?!\)(?!\)(?!\-)(\W)/ig匹配任何不是“word”字符的字符(即[a-zA-Z0-9.),3个lookahead还限制了字符//code>、和-。逗号已删除,因为它是\W的一部分 如果要保留它,请添加另一个前瞻:(?!,),然后您的正则表达式
return str.replace(/(?!\/)(?!\ )(?!\-)(\W)/ig, '');
我怎样才能只取出删除逗号的代码段?正则表达式/(?!\/)(?!\)(?!\)(?!\-)(\W)/ig
匹配任何不是“word”字符的字符(即[a-zA-Z0-9.
),3个lookahead还限制了字符//code>、
和-
。逗号已删除,因为它是\W
的一部分
如果要保留它,请添加另一个前瞻:(?!,)
,然后您的正则表达式变为:
return str.replace(/(?!\/)(?! )(?!-)(?!,)(\W)/g, '');
我已经删除了不必要的转义和不区分大小写的标志
这应写为:
return str.replace(/[^\w\/, -]/g, '');
不是downvoter,但请提供更多信息以及预期的输入和输出字符串。谢谢您的回答,您能解释一下为什么我不能从正则表达式中删除这部分:\W
?你能解释一下你的意思吗:我删除了不必要的转义和不区分大小写的标志。?谢谢大家!@user3378165:在正则表达式中,必须转义某些特殊字符。空间和破折号并不特别,所以,没有必要逃避它们。您不能只删除\W
,因为它只保留3个0长度匹配的负前瞻,您不能一无所获地删除任何内容@user3378165:有关一些正则表达式的基础知识,请参阅并完美地工作,非常感谢,我将查看附加的链接,谢谢!