Используйте класс символов:
/[\d\s()+-]/g
Соответствует одному символу, если это цифра \d
, пробел \s
, литерал (
, литерал )
, литерал +
или литерал -
. Поместить -
last в символьный класс - это простой способ сделать его буквальным -
; в противном случае он может стать метасимволом определения диапазона (например, [A-Z]
).
Вообще говоря, вместо сопоставления одного символа за раз в качестве альтернатив (например, a|e|i|o|u
), гораздо удобнее читать вместо него класс символов (например, [aeiou]
). Это более кратко, более читабельно и естественно группирует символы вместе, так что вы можете сделать, например, [aeiou]+
для соответствия последовательности гласных.
Ссылки
Протест
Начинающие иногда ошибочно принимают класс персонажа за совпадение [a|e|i|o|u]
или хуже [this|that]
. Это не верно. Класс символов сам по себе соответствует одному и ровно одному символу из входных данных.
Похожие вопросы