Регулярное выражение для фильтрации городов

у меня есть большой список городов, мне нужно его отфильтровать так, чтобы в нем не было городов, в названии которых присутствуют не латинские символы. Но при этом города содержащие пробельные символы оставались в списке. Я делаю так:

list.filter(({ cityName }) => !/\W/i.test(cityName));

Но такой фильтр отсеивает города, содержащие пробельные символы, например Los Angeles, как можно обойти это?


Ответы (1 шт):

Автор решения: Wiktor Stribiżew

Если нужно из /\W/ "вычесть" пробельные символы, используйте

/[^\w\s]/
/(?!\s)\W/

И [^\w\s], и (?!\s)\W означают одно и то же: найди символ, отличный от пробельного и "словного" (цифро-буквенного, а также символа подчёркивания) символа.

См. пример работы выражения №1 и выражения №2.

→ Ссылка