jquery - 模式匹配

时间:2011-04-25 15:46:12

标签: jquery regex match

我一直在尝试使用jquery match()函数,但是我无法获得任何我尝试工作的东西......

基本上,我正在尝试匹配括号中的任何字符串:

(样品) (小宠物) (su54gar99)

...等

试过这个(最新的尝试......不知道我现在经历了多少次......)

$('.acf').each(function() {
                var ac = $(this);
                ac.data('changed', false);
                ac.data('alias', 'ac-real-');
                ac.data('rx',  /\s*\(\s+\)\s*/i);
                ac.data('name', ac.attr('name'));
                ac.data('id', ac.attr('id'));
                ac.data('value', ac.val());
        });

2 个答案:

答案 0 :(得分:2)

您为什么使用\s?它匹配任何空格字符

使用如下的正则表达式:

\(.+\)

答案 1 :(得分:1)

我建议你的错是,“\ s”仅代表空格字符,但不代表普通字符;)。

其次,为了找到EACH而不是在1个结果后停止,添加“g”(对于全局)修饰符。

尝试这样的事情:

var text = "(sample) (pokemon) (su54gar99)";
var found = text.match(/\s*\(([a-z,0-9]*)\)/ig);
$.each(found, function(i, v) {
    alert(i+" = "+v);
});

至少与给定的例子一起使用;)。

提示:访问:http://www.w3schools.com/jsref/jsref_obj_regexp.asp 学习RegEx的最佳方面,在我看来:P。