我一直在js学习regexp遇到了一个我不理解的情况.
我使用以下正则表达式对replace函数进行了测试:
/\W*/g
Run Code Online (Sandbox Code Playgroud)
并且期望它在字符串的开头前面并继续替换所有非单词字符.
The Number is (123)(234)
Run Code Online (Sandbox Code Playgroud)
会成为:
_The_Number_is__123___234_
Run Code Online (Sandbox Code Playgroud)
这将是字符串的前置,因为它至少有零个实例,然后替换所有非中断空格和非单词字符.
相反,它会在每个字符前面添加并替换所有非字符.
_T_h_e__N_u_m_b_e_r__i_s__1_2_3__2_3_4__
Run Code Online (Sandbox Code Playgroud)
为什么这样做?