RegExp“/ g”不适用于string.search

时间:2014-04-01 09:05:54

标签: javascript regex string

尝试查找所有出现时,

string.search()对我不起作用:

   var test = "This is a sample text";
   var result = test.search(/ /g);
   // result = "4"

但它适用于string.matches()

   var test = "This is a sample text";
   var result = test.match(/ /g);
   // result = " , , , "

原因是什么?是不是提供了在string.search()中查找所有匹配项,或者我是否犯了错误?

一些背景知识:我试图在字符串中查找所有空格的索引(以及之后的所有空格" - "),然后将以下字符大写。

2 个答案:

答案 0 :(得分:2)

String#search returns the position of the first occurrence of the specified searchvalue,如果未找到匹配项,则返回-1。使用/g是否无关紧要,它仍然只会返回第一次出现的位置。

答案 1 :(得分:0)

"如果成功,搜索将返回字符串中正则表达式的第一个匹配项的索引。否则,它返回-1。" 来自https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search