使用正则表达式匹配由标点字符分隔的单词

ron*_*nik -1 javascript regex

示例字符串:

这个!is.an?例如

我想匹配:这是一个例子.

我试过这个:

<script type="text/javascript">
   var string="this!is.an?example"; 
   var pattern=/^\W/g;
   alert(string.match(pattern));
</script>
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 5

试试这个:

var words = "this!is.an?example".split(/[!.?,;:'"-]/);
Run Code Online (Sandbox Code Playgroud)

这将创建一个包含每个单词的字符串数组.
如果要将其转换为单个字符串,并且单词用空格分隔,则可以调用words.join(" ").

编辑:您也可以拆分\W(str.split(/\W/)),但这可能会匹配比您想要的更多的字符.

  • @Tatu:你错了.`.`不需要在字符类中进行转义.请在downvoting之前尝试. (5认同)