/\b([0-9]+)"/
требует, чтобы между границей слова и "
была хотя бы одна цифра, тогда как /\b([0-9]*)"/
также принимает ноль цифр. Таким образом, первое не соответствует пробелу, за которым следует "
, а второе -
Если вы хотите обработать как new 15 " tv
, так и new 15" tv
, вам нужно сопоставить пробел с символом, который может присутствовать или не присутствовать:
/\b([0-9]+)\s?"/
Это соответствует границе слова, за которой следует последовательность (на или более) чисел, за которыми, возможно, следует один пробел (или табуляция), за которым следует "
. Я полагаю, это то, что вы ищете.
Если нет, сначала вы должны определить строки, которые должны совпадать, и строки, которые могут не совпадать.