我一直在尝试使用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());
});
答案 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。