嗨,我知道这段代码有效,但我不明白,有人可以解释一下。
function remove(s){
return s.replace(/!+$/, '');
}
remove('Hi!'); // outputs 'Hi'
remove('!Hi'); // outputs 'Hi'
我理解了!被替换为空字符串但是什么是反斜杠,加上和美元符号???
谢谢
答案 0 :(得分:0)
没有反斜杠,那些是正斜杠。它们是Javascript RegExp文字的语法,就像在字符串周围使用引号一样。
+
和$
是正则表达式语法的一部分。 +
表示匹配前面一个或多个模式(在这种情况下为!
),$
匹配字符串的结尾。所以这将替换字符串末尾的!
序列。
您应该阅读有关正则表达式的教程。转到regular-expression.info。
由于它只匹配字符串末尾的!
,remove('!Hi')
应该返回!Hi
,而不是Hi
。