嘿,有人可以看看我的正则表达式吗?我正在尝试验证一个regex
组,但是它过于贪婪地匹配。
/*Should match only 16 characters in total & must begin with BE and follow by 14 digits */
var re = /(?<iban>[/BE\B/(?={0-9})])/gm
let correctIban = 'BE71096123456769' // => should match
let badIbanOne = 'BE13466123456767590kd' // => should NOT match
let badIbanTwo = 'BE13466123456767590679080176' // => should NOT match
let badIbanThree = 'AZ71096123456769' // => should NOT match
console.log(re.test(correctIban)); // => true
console.log(re.test(badIbanOne)); // => false
console.log(re.test(badIbanTwo)); // => false
console.log(re.test(badIbanThree)); // => false
谢谢。
编辑:感谢您的帮助。以下是ES2018
中针对想要了解的人的具有捕获组语法的代码:(?<iban>^BE\d{14}$)
答案 0 :(得分:1)
Conversion to cell from double is not possible.
说明:
var re = /^BE\d{14}$/;
-标记表达式的开始^
-文字字符'BE'BE
-任何数字(与[0-9]相同)\d
-量词-精确14 {14}
-标记表达式的结尾不需要所有多余的东西。
您可以在这里尝试:https://regex101.com/r/4wF3NG/1