我正在使用以下正则表达式来匹配所有单词:
mystr.replace(/([^\W_]+[^\s-]*) */g,function (match,p1,index,title) {...}
请注意,单词可以包含特殊字符,如德语元音.
如何匹配除括号内的所有单词?
如果我有以下字符串:
here wäre c'è (don't match this one) match this
我想得到以下输出:
here wäre c'è match this
尾随空格并不重要.
有没有一种简单的方法来实现这一点与javascript中的正则表达式?
编辑:
我无法删除括号中的文本,因为最后的字符串“mystr”也应该包含此文本,而字符串操作将在匹配的文本上执行. “mystr”中包含的最终字符串可能如下所示:
Here Wäre C'è (don't match this one) Match This
解决方法
试试这个:
var str = "here wäre c'è (don't match this one) match this"; str.replace(/\([^\)]*\)/g,'') // remove text inside parens (& parens) .match(/(\S+)/g); // match remaining text // ["here","wäre","c'è","match","this"]