javascript匹配太多次了

时间:2012-05-17 19:04:15

标签: javascript regex

我遇到了这个正则表达式的问题。我想返回第一次出现这种模式#2344....。但不知怎的,它正在返回所有事件。

var title = '#34 #24 pofejwopwefjopewfjpfeijefow'
pointsRegEx = /(#\d+){1}/;
points = title.match(pointsRegEx);

JSFIDDLE:http://jsfiddle.net/KbGVU/1

2 个答案:

答案 0 :(得分:4)

你的正则表达式工作正常。在你的正则表达式中,你有()。这会创建一个组。 .match返回一个数组。第一个元素是整个正则表达式匹配的结果,其他元素是正则表达式中的每个组。

.match正在向您['#34','#34']返回,因为第一个是整个正则表达式,第二个是正则表达式(#\d+)中的组。

注意:不需要{1},因为它默认匹配1匹配。

此处记录了从.match返回的数组的属性:mozilla docs

答案 1 :(得分:0)

得到chya ...你不需要匹配()分组......

http://jsfiddle.net/KbGVU/3/

/#\d*/应该这样做