我正在尝试编写与以0或5结尾的整数匹配的正则表达式
这是我尝试过的
const pattern = new RegExp('\d*[05]')
pattern.test(100) //true
pattern.test(101) //true -> expected false
pattern.test(-100) //true
答案 0 :(得分:2)
https://regex101.com/是在这类情况下提供帮助的好工具。
有效地,您的表达式匹配101
而不是整个字符串-仅匹配其中的10
部分(您将看到与条件匹配的部分)。
要解决此问题,您需要在RegEx的末尾添加一个$
,以表示字符串的末尾。
^\d*[05]$
答案 1 :(得分:1)
设置模式以查找字符串的结尾。您的其他模式是匹配的,因为它在前10个停止并且不再继续。您需要说字符串的结尾应该出现在0或5之后。
const pattern = new RegExp('\d*[05]$')
答案 2 :(得分:-1)