如何在正则表达式x<;中使用逻辑运算符Javascript中的y

如何在正则表达式x<;中使用逻辑运算符Javascript中的y,javascript,regex,string,numbers,logic,Javascript,Regex,String,Numbers,Logic,你好,我有这样的正则表达式 ^[\d]{4,5}([;]\d{4,5})*$$(^[\d]{4,4}([:]\d{4,5})$)^[\d]{4,5}(\s[;]\s\d{4,5})*$$(^[\d]{4,4}(\s[:]\s\d{4,5})$) 我需要这样的效果: 12345:12345-允许 12345:1234-不允许 12345:12344-不允许 1234:1235-允许 1234:12345-允许 一般-左您描述的问题无法用常规语言描述,因此我怀疑这是否可以用正则表达式解

你好,我有这样的正则表达式

^[\d]{4,5}([;]\d{4,5})*$$(^[\d]{4,4}([:]\d{4,5})$)^[\d]{4,5}(\s[;]\s\d{4,5})*$$(^[\d]{4,4}(\s[:]\s\d{4,5})$)

我需要这样的效果:

  • 12345:12345-允许

  • 12345:1234-不允许

  • 12345:12344-不允许

  • 1234:1235-允许

  • 1234:12345-允许


一般-左您描述的问题无法用常规语言描述,因此我怀疑这是否可以用正则表达式解决。但是,您可以在JS中轻松解决此问题:

 const [a, b] = str.split(":");
 if(+a <= +b) /*...*/
const[a,b]=str.split(“:”);

如果(+a,但我需要分隔符的其余部分,如“;”,则将两者结合起来。与正则表达式匹配,然后迭代和验证。尽管人们使用正则表达式,但在需要数学的地方最好进行数学运算。