在我们用正则去匹配前,需要先了解一下贪婪量词的问题,因为一开始我们会先选择这种匹配方式,只有贪婪量词不成功时,才会使用我们之前学习的回溯法继续匹配。今天我们需要学习的是正则匹配整数的方法,在简单了解贪婪量词后,会为大家展示出匹配整数的代码示例。
1.贪婪量词
贪婪量词在 NFA 正则引擎中,量词默认都是贪婪的。当正则表达式中使用了下表所示的量词,正则引擎一开始会尽可能贪婪的去匹配满足量词的文本。当遇到匹配不下去的情况,就会发生回溯,不断试错,直至失败或者成功。
ble data-draft-node="block" data-draft-type="table" data-size="normal" data-row-style="normal">
当多个贪婪量词挨着存在,并相互有冲突时,秉持的是"先到先得"的原则,如下所示:
let string = "12345"; let regex = /(\d{1,3})(\d{1,3})/; console.log( string.match(regex) ); // => ["12345", "123", "45", index: 0, input: "12345"]
2.整数正则
//正整数正则 var posPattern = /^\d+$/; //负整数正则 var negPattern = /^-\d+$/; //整数正则 var intPattern = /^-?\d+$/; //输出 true console.log(posPattern.test("42")); //输出 true console.log(negPattern.test("-42")); //输出 true console.log(intPattern.test("-42"));
以上就是js正则匹配整数的方法,相信大家同时也对基础的贪婪量词有所了解,学会就就可以开始尝试匹配整数的练习了。