写了则正则表达式,java可以通过,但是js 不能通过,求指导

^(?<!,)+((?<!-)+((([0-1]\\d|2[0-3]):[0-5]\\d)-?){2,}+(?<!-),?){1,}+(?<!,)$String[]str... ^(?<!,)+((?<!-)+((([0-1]\\d|2[0-3]):[0-5]\\d)-?){2,}+(?<!-),?){1,}+(?<!,)$

String[] str = {"09:30-","09:30-12:00","09:30-11:30,12:30-22:00","09:30-12:00,,09:30-12:00"
,"09:30-12:00,09:30-12:00,","09:30-12:00,,09:30-12:00,","09:30-12:00,09:30-12:00,,"};
for (String string : str) {
System.out.println(string + " = " +string.replaceAll(
"^(?<!,)+((?<!-)+((([0-1]\\d|2[0-3]):[0-5]\\d)-?){2,}+(?<!-),?){1,}+(?<!,)$", ""));
}
js不能通过

/^(?<!,)+((?<!-)+((([0-1]\d|2[0-3]):[0-5]\d)-?){2,}+(?<!-),?){1,}+(?<!,)$/.test(value)
实在不行求帮写个类似的正则表达式,让上面的java String[] 中 第二个或者第三个通过
展开
 我来答
帐号已注销
2014-09-05 · TA获得超过4630个赞
知道大有可为答主
回答量:1345
采纳率:50%
帮助的人:1636万
展开全部
js不支持零宽断言,java通过说明正则没问题,但相同的校验在js这边就要考虑不使用正则了。这是js正则模块的缺陷。。。
追问
谢谢指导,那怎么解决了?
追答
根据你的需要,用js代码校验啊,又不是只有正则才能校验。。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式