JavaScript分割正则expression式的问题
你好我正在尝试什么,我认为会是一个相当简单的正则expression式在Javascript中,但给我很多麻烦。 我希望能够通过使用' – ','。','/'和''来分割date。
var date = "02-25-2010"; var myregexp2 = new RegExp("-."); dateArray = date.split(myregexp2);
什么是正确的正则expression式任何和所有的帮助将是伟大的。
你需要把你想要分割的字符放在一个字符类中 ,告诉正则expression式引擎“这些字符中的任何一个匹配”。 为了您的目的,这将看起来像:
date.split(/[.,\/ -]/)
尽pipe破折号在字符类中作为范围说明符(即[az]
含义与[abcdefghijklmnopqrstuvwxyz]
[az]
含义相同)具有特殊的含义,但如果将其作为类中的最后一件事物,则意味着字面破折号,而不需要逃脱。
为了解释为什么你的模式不起作用,/- /-./
告诉正则expression式引擎匹配一个文字短划线字符后跟任何字符( 点是正则expression式中的通配符)。 用“02-25-2010”,每次遇到“-2”,因为破折号匹配,点匹配“2”。
或者只是(除了数字以外):
date.split(/\D/);
你可以使用
date.split(/-/);
要么
date.split('-');
然后把它分成几个数字:
date.split(/[^0-9]/);
或者只是使用datestring2015-05-20或2015.05.20
date.split(/\.|-/);