正确的方法来删除一个主角

时间:2017-03-16 15:45:18

标签: javascript regex

我是正则表达式的新手,我试图从任何字符串中删除前导下划线'_'。

replace(/^[_]+/, "")

这样可行,但我想确定一下:这是正确的方法吗?

由于我无法在网上找到很多关于这个特殊问题的信息,我在这里问这个问题。

2 个答案:

答案 0 :(得分:3)

这应该足够了:

replace(/^_/, '');

答案 1 :(得分:1)

然而,它将删除1-n个前导下划线。例如,_x变为x,但__x也变为x;一直到n个领先的下划线。如果您只想删除第一个前导下划线,请使用以下内容:

some_string.replace(/^_{1}/, '');

这是使用量词仅匹配1.请注意,此量词不是贪婪,+量词是一个或多个并且贪婪。您还可以将原始代码与非贪婪修饰符一起使用?如下:

some_string.replace(/^[_]+?/, '');

最后一点,在这种情况下,您不需要使用字符类运算符[...]。这不是错误或错误的形式,只是不必要。