Вам нужно поместить символы, которые вы хотите разделить, в класс символов , который сообщает механизму регулярных выражений, что «любой из этих символов соответствует». Для ваших целей это будет выглядеть так:
date.split(/[.,\/ -]/)
Хотя тире имеют особое значение в классах символов в качестве спецификатора диапазона (т.е. [a-z]
означает то же, что и [abcdefghijklmnopqrstuvwxyz]
), если вы поместите его в последнюю очередь в классе, оно будет означать буквальное тире, и его не нужно экранировать.
Чтобы объяснить, почему ваш шаблон не работает, /-./
указывает механизму регулярных выражений на соответствие буквальному тире, за которым следует любой символ ( точки - это символы подстановки в регулярных выражениях). С «25.02.2010» он будет разделяться каждый раз, когда встречается «-2», потому что тире соответствует, а точка соответствует «2».