Javascript 拆分正则表达式问题

2022-08-30 04:05:53

你好,我正在尝试我认为在Javascript中将是一个相当容易的正则表达式,但给我带来了很多麻烦。我希望能够通过javascript拆分日期,按“-”,“.”,“/”和“”来拆分日期。

var date = "02-25-2010";
var myregexp2 = new RegExp("-."); 
dateArray = date.split(myregexp2);

什么是正确的正则表达式,任何和所有帮助都会很棒。


答案 1

您需要将要拆分的字符放在字符类中,这会告诉正则表达式引擎“这些字符中的任何一个都是匹配的”。出于您的目的,这将如下所示:

date.split(/[.,\/ -]/)

尽管破折号在字符类中作为范围说明符具有特殊含义(即表示与相同),但如果您将其作为类中的最后一个事物,则它表示文字破折号,不需要转义。[a-z][abcdefghijklmnopqrstuvwxyz]

为了解释为什么您的模式不起作用,请告诉正则表达式引擎匹配文字破折号字符,后跟任何字符(点是正则表达式中的通配符)。对于“02-25-2010”,每次遇到“-2”时,它都会分裂,因为破折号匹配,点匹配“2”。/-./


答案 2

或者只是(除数字以外的任何内容):

date.split(/\D/);