这个javascript正则表达式在做什么?

时间:2013-08-26 23:28:25

标签: regex

我在一些javascript代码中找到了这个,并想知道它匹配的是什么。

var i = /^tags: ?((?:.*, ?)*.*)$/m.exec(e.details);

1 个答案:

答案 0 :(得分:0)

^ //start of the string
tags: //4 characters: "tags"
 ? //an optional space
((?:.* // 0 or more of any character except a newline
, ?) //a comma, then an optional space
* // all the stuff on the previous 2 lines, repeated 0 or more times
.*) //a capturing group of any character, repeated 0 or more times
$ //end of the string

基本上是用逗号分隔的标签列表。

这个正则表达式恰好接受任何以“tags:”

开头的字符串

它试图捕获冒号后的东西。 (注意:我不认为这是作者想要它做的,因为.*是贪婪的。)它在一个组中捕获它,而不是每组一个标记。