Você precisa colocar os caracteres que deseja dividir em uma classe de caractere , que informa ao mecanismo de expressão regular "qualquer um desses caracteres é uma correspondência". Para seus propósitos, seria o seguinte:
date.split(/[.,\/ -]/)
Embora os traços tenham um significado especial nas classes de caracteres como um especificador de intervalo (ou seja, [a-z]
significam o mesmo que [abcdefghijklmnopqrstuvwxyz]
), se você colocá-los como a última coisa na classe, será considerado um traço literal e não precisa ser escapado.
Para explicar por que seu padrão não funcionou, /-./
diga ao mecanismo de expressão regular para corresponder a um caractere de traço literal seguido por qualquer caractere (os pontos são caracteres curinga em expressões regulares). Com "02-25-2010", ele se dividiria sempre que "-2" fosse encontrado, porque o traço corresponde e o ponto corresponde a "2".