Javascript 似乎正确的正则表达式在replace函数中不起作用
我正在尝试匹配三个连续的点。后跟一个空格 我的想法如下:Javascript 似乎正确的正则表达式在replace函数中不起作用,javascript,regex,replace,Javascript,Regex,Replace,我正在尝试匹配三个连续的点。后跟一个空格 我的想法如下: \.\.\.\s? 而且似乎完全如预期的那样 但是,当我试图用javascript在replace函数中使用它时,它似乎不起作用,这很奇怪,除非我遗漏了一些愚蠢的东西: replace("\.\.\.\s?", "") 不起作用,看 我遗漏了什么?这应该可以用$'div'。文本。。。嗨。替换/\.\.\.\s?/ String.replace将字符串或正则表达式作为第一个参数。如果是字符串,则逐字搜索 正则表达式不应该用引号括起来。试
\.\.\.\s?
而且似乎完全如预期的那样
但是,当我试图用javascript在replace函数中使用它时,它似乎不起作用,这很奇怪,除非我遗漏了一些愚蠢的东西:
replace("\.\.\.\s?", "")
不起作用,看
我遗漏了什么?这应该可以用$'div'。文本。。。嗨。替换/\.\.\.\s?/
String.replace将字符串或正则表达式作为第一个参数。如果是字符串,则逐字搜索 正则表达式不应该用引号括起来。试试看
mystr.replace(/\.\.\.\s?/, "")
稍微优化的正则表达式。String.replace的第一个参数必须是RegExp对象,而不是String。将其更改为:
$('div').text("... hi".replace(/\.\.\.\s?/, ""));
或者
新建RegeExp或使用regexp文本。replacenew RegExp\\.\.\.\.\.\\s?、replace/\.\.\.\.\.\s?/,我打了个错别字并编辑了它。还是别的?看看我在问题下的评论。你就快到了。
$('div').text("... hi".replace(/\.\.\.\s?/, ""));
$('div').text("... hi".replace(new RegExp("\\.\\.\\.\\s?"), ""));