我想用match()
来寻找模式。下面是我要匹配的字符串的示例: 2013-03-12 11:15
使用了一些在线工具,我让它适用于具有这种模式的工具:
sData.match((0[1-9]|[12][d]|3[0-2])/(0[1-9]|1[0-2])/[d]{4} (0[1-9]|1[d]|2[0-3]):(0[1-9]|[1-5][d])$)
但是,一旦我在javascript代码中使用它,我就会收到非法字符的错误,但我不知道哪些字符是非法的,有人可以帮忙吗?
如果它有帮助,这是针对数据表插件的自定义排序列,但我确定这不是问题的一部分。
这是带有工作正则表达式的在线工具:http://rubular.com/r/PR4l6T8AQi
你只需要为正则表达式添加分隔符:
sData.match(/(0[1-9]|[12][d]|3[0-2])/(0[1-9]|1[0-2])/[d]{4} (0[1-9]|1[d]|2[0-3]):(0[1-9]|[1-5][d])$/);
^ ^
这应该:)
此外,您可以删除一些字符类,例如[d]
可以编写为d
好吧:
sData.match(/(0[1-9]|[12]d|3[0-2])/(0[1-9]|1[0-2])/d{4} (0[1-9]|1d|2[0-3]):(0[1-9]|[1-5]d)$/);
文字正则表达式应该以/开头和结尾
正
则表达式必须以/开头并以/结尾
sData.match(/(0[1-9]|[12][d]|3[0-2])/(0[1-9]|1[0-2])/[d]{4} (0[1-9]|1[d]|2[0-3]):(0[1-9]|[1-5][d])$/)