Javascript正则表达式只匹配字符

时间:2011-09-16 12:53:10

标签: javascript regex

从字符串中我需要提取以dog开头的任何单词。例如。 “狗”,“狗狗”,“doggystyle”。

HOWTO?

3 个答案:

答案 0 :(得分:0)

\bdog\w*

\b是一个单词边界

\w是一个单词字符

*表示0或更多

答案 1 :(得分:0)

使用/(\bdog\w*)/g,例如

"dog dogman doggy notdoggy doggyagain".match(/(\bdog\w*)/g)
// => ["dog", "dogman", "doggy", "doggyagain"]

/g标志很重要。它使正则表达式匹配所有出现,而不仅仅是第一个。

答案 2 :(得分:0)

特别是,您可以使用split()功能与substr()功能相结合来执行此操作。 e.g。

var str = "dog doggy other doggystyle";

// Split string by spaces.
var result = str.split(" ");  // Split on the space character.

// Iterate through array, split on space.
for(i = 0; i < result.length; i++){

   // Identify words that start with "dog"
   if(result[i].substr(0, 3) == "dog")
   {
      // Word starts with dog.  Do something with it here.
   }
}