正则表达式,匹配以【ASWD】开头,后面跟1到2位数字,部分匹配成功,部分匹配失败问题

发布于 2022-09-12 22:40:33 字数 494 浏览 17 评论 0

大家能不能帮我看看这个正则到底哪里有问题,我要匹配以【ASWD】开头,后面跟1到2位数字,
var reg = /^[ADWS]\d{1,2}$/gi;
coordinateArr.forEach((elem)=>{

console.log('elem=', elem);
let flag = reg.test(elem);
console.log('flag=', flag);
if(flag){
    // 获取方向
    var direction = elem.substr(0, 1);
    var coordinate = Number(elem.substr(1));
    console.log('directioncoordinate=', direction, coordinate);  
}

});
为啥S20跟D30是有问题的
image.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

温柔一刀 2022-09-19 22:40:33

我测试了你的正则没有问题

debtool.Console

我认为 S20 后可能尾随空白字符比如空格,可以这样修改来验证

- console.log('elem=', elem);
+ console.log('elem="' + elem + '"');

PS 如果要匹配空白字符,建议先 trim,而不是更改正则表达式

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文