Javascript正则表达式问题:剥离特殊符号和URL

时间:2011-03-09 13:58:01

标签: javascript regex

我需要的是能够匹配包含特殊符号(除了?,!和。)和URL的单词的内容。 这就是我已经拥有的东西,但它不起作用。

re = new RegExp('(http://\S+|\S*[^\w\s,.":]\S*)');

text = '@hello how are you? http://example.com';
clean = text.replace(re, '');

目前的输出是:

> 'hello how are you? http://example.com'

输出应为:

> '  how are you? '

3 个答案:

答案 0 :(得分:1)

您需要在RE中使用global

text.replace(/(http:\/\/\S+|\S*[^\w\s,.":?]\S*)/g,'');

我还加了“?”到你的设置,因为它似乎你想要包括。

答案 1 :(得分:1)

re = /(http:\/\/\S+|\S*[^\w\s,\.\?":]\S*)/ig;

text = '@hello how are you? http://example.com';
clean = text.replace(re, '');

答案 2 :(得分:0)

我对Java知之甚少,在Java中我会这样做:

clean = input.replaceAll("(http://\\S+|\\S*[^\\w\\s\\?,.\"!:]\\S*)", "");

如果您不需要转义特殊字符,请删除反斜杠。

问候!