Чтобы сопоставить данные вашего примера, вы можете использовать чередование, совпадающее либо с 2 цифрами / 4 цифрами, либо с сопоставлением 2 цифр с дополнительной частью, которая соответствует 2 цифрам и 4 цифрам.
\b(?:\d{2}\/\d{4}|\d{2}(?:\/\d{2}\/\d{4})?)\b
Объяснение
\b
Граница слова, предотвращает включение слова char в большее слово (?:
Группа без захвата \d{2}\/\d{4}
Сопоставьте 2 цифры / 4 цифры |
Или \d{2}
Сопоставьте 2 цифры (?:\/\d{2}\/\d{4})?
Необязательно сопоставьте / 2 цифры / 4 цифры
)
Закрыть группу \b
Граница слова
Regex demo
Примечание , что 2 и 4 цифры также могут соответствовать 99 и 9999. Если вы хотите сделать соответствие более конкретным c, эта страница может быть полезной https://www.regular-expressions.info/dates.html
const pattern = /\b(?:\d{2}\/\d{4}|\d{2}(?:\/\d{2}\/\d{4})?)\b/;
[
"the response value 10",
"the response value 10/12/2014",
"the response value 08/2015"
].forEach(s => console.log(s.match(pattern)[0]));