我必须生成具有以下条件的正则表达式
到目前为止,我已经尝试过
^\d{3}(\/\d{3})?$
如何在正则表达式“ /”之前的数字应该大于“ /”之后的数字?
有人可以帮我吗?
答案 0 :(得分:0)
仅靠正则表达式将无法实现这一点(至少不是那么容易或可读)-而是捕获两个数字部分,并检查第一个数字是否大于第二个数字。
const check = str => {
const match = str.match(/^(\d{1,3})\/(\d{1,3})$/);
if (!match) {
return false;
}
const [, d1, d2] = match;
return Number(d1) > Number(d2);
};
console.log(
check('123/456'),
check('456/123'),
check('45/123'),
check('12/45')
);
答案 1 :(得分:0)
您可以分配两个变量-一个用于“ /”之前的数字,另一个用于之后的数字。 像A / B,然后将split()函数与'-'用作分隔符,然后将两个部分与>进行比较。
据我所知,正则表达式中无法比较数字值。