javascript 正则表达式给出非法字符错误

标签 javascript regex

我想使用 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

最佳答案

您只需为正则表达式添加分隔符:

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)$/);

关于javascript 正则表达式给出非法字符错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18957011/

相关文章:

javascript - Express 无法获取我的外部 CSS,为什么?

javascript - React-Router Link,如何从另一个组件触发链接上的点击事件

尝试匹配 URL 的 JavaScript 正则表达式语法错误会导致意外标记 ^

regex - 使用 vim 替换出现次数可变的不匹配字符串

Javascript 正则表达式

javascript - DOM 没有完全加载?

javascript - 在 Angular 2+ 应用程序中从 Twitter 获取用户访问 token

C++ 正则表达式 header 未注册 Netezza UDF

regex - 无法使用正则表达式解析 bash 输出并收集其中的一部分

php - 在javascript中使用PHP变量