我想使用match()
来寻找一个模式。下面是我想匹配的字符串示例: 12/03/2013 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
发布于 2013-09-23 10:32:25
只需为正则表达式添加分隔符:
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]|1\d|2[0-3]):(0[1-9]|[1-5]\d)$/);
发布于 2013-09-23 10:32:04
文字regexp应该以/开头和结尾
发布于 2013-09-23 10:33:09
regex必须以/以/结束
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])$/)
https://stackoverflow.com/questions/18957011
复制相似问题