Это то, что вы ищете?
Объяснение:
\b
граница слова (начало или конец слова)
\w
слово ([Az])
{5}
5 символов предыдущего
Таким образом, оно соответствует всем 5-символьным словам, но не NANANANA
var str = 'IGORA,CIAOA,POPOP,NANANANA';
var arr = str.match(/\b\w{5}\b/g);
console.log(arr); //['IGORA', 'CIAOA', 'POPOP']
Если вы хотите выбрать только слова, разделенные запятыми, и ничего больше, вы можете проверить их следующим образом:
(?<=,\s*|^)
перед,
с любым числом завершающих пробелов, OR - первое слово в списке.
(?=,\s*|$)
, за которым следует ,
, а любое количество завершающих пробелов OR - последнее слово в списке.
В следующем коде POPOP и MOMMA отклоняются, потому что они не разделены запятой, и NANANANA завершается ошибкой, потому что это не 5 символов.
var str = 'IGORA, CIAOA, POPOP MOMMA, NANANANA, MEOWI';
var arr = str.match(/(?<=,\s*|^)\b\w{5}\b(?=,\s*|$)/g);
console.log(arr); //['IGORA', 'CIAOA', 'MEOWI']
Если после запятой у вас нет пробелов, просто пропустите \s*
из (?<=,\s*|^)
и (?=,\s*|$)
.