我需要删除下一个符号:
\
/
.
?
:
并尝试使用下一个 RegExp :
var NoUse = new RegExp("\/|\\|\:|\?","g");
...
var name = fullname.replace(NoUse,"g");
...
但它会出现错误:
SyntaxError: Invalid regular expression: `//|\|:|?/:` Nothing to repeat
如何更改此正则表达式?
我需要删除下一个符号:
\
/
.
?
:
并尝试使用下一个 RegExp :
var NoUse = new RegExp("\/|\\|\:|\?","g");
...
var name = fullname.replace(NoUse,"g");
...
但它会出现错误:
SyntaxError: Invalid regular expression: `//|\|:|?/:` Nothing to repeat
如何更改此正则表达式?
使用字符类 ( []
):
var name = fullname.replace(/[\\/.?:]+/g, '');
例子:
var fullname = 'J. Lee';
var name = fullname.replace(/[\\/.?:]+/g, '');
name # => "J Lee"
在RegExp
构造函数中,您必须双重转义反斜杠:
new RegExp("/|\\\\|:|\\?|\\.","g");
并且反斜杠本身必须被转义。哦,你的正则表达式中没有句号。
否则,您可以使用字符类:
new RegExp("[/\\\\:?.]","g");
或者简单地使用这个结构:
var NoUse = /[\/\\:?.]/g;