text = 'ticket number #1234 and #8976 ';
r = /#(\d+)/g;
var match = r.exec(text);
log(match); // ["#1234", "1234"]
В приведенном выше случае я хотел бы захватить как 1234, так и 8976. Как мне это сделать. Также в предложении может быть любое число «#», за которым следуют целые числа. Таким образом, решение не должно быть жестко, а не жестко закодировано при условии, что будет максимум два случая.
Обновление:
Просто любопытно . Оформить заказ в следующих двух случаях.
var match = r.exec(text); // ["#1234", "1234"]
var match = text.match(r); //["#1234", "#8976"]
Почему во втором случае я получаю #, хотя я не получаю его. Похоже, string.match не подчиняется правилам захвата.