Regex以匹配整数或单词“”;“其他”;,不区分大小写
Regex to match integers or word "other", case insensitive
这看起来很简单,但不起作用。我正在尝试匹配一个整数或单词"其他"(不区分大小写)。例如,给定阵列:
[1, 233, 45, "other", "the"]
只有数组中的前4项才应有效。然而,目前我的尝试将只匹配整数,而不是捕获"其他"(无论大小写不敏感)。
这是我正在使用的模式和修改器:
var regex = new RegExp("^[0-9]*|(other)$", "i"),
match = regex.exec(value);
return match && (match.index === 0) && match[0].length === value.length;
这个想法很好,但有一些细节需要修复:
var regex = /^('d+|other)$/i;
它不是在捕获整数,而是在捕获[0-9]*。*表示零或更大,因此空字符串是有效的。A+在它的位置意味着一个或多个。
这可能比你需要的更通用,但数字通常不会以0开头,除了0本身,但如果你不介意允许前导0,[0-9]+就可以了。如果你不想匹配001这样的数字,那么你需要类似0|[1-9][0-9]*的东西。
此外,^和$的优先级高于|,这意味着您实际上正在匹配以空字符串开头的任何内容,或以"other"结尾的任何内容
^(?:[0-9]+|other)$
试试这个。请参阅演示。
https://regex101.com/r/mS3tQ7/4
相关文章:
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- Array.length似乎不起作用;console.log则显示其他情况
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- 如何在不影响其他元素的情况下扩展DIV
- Javascript的某些部分在Chrome中不起作用,但在其他浏览器中可以完美工作
- 在BoilerplateJS浏览器加载所有脚本(在其他模块中),而不考虑激活的模块
- 为什么不'我的窗口滚动事件根本没有启动.其他答案没有解决问题
- 如何在不保存到其他变量的情况下更改JavaScript中的值
- jQuery Mobile到其他页面的锚链接不起作用
- 是否可以使用Chart.js缩短雷达图上的外部标签,而不影响其他标签
- 将不同上传的文件显示为缩略图或任何其他方式
- 如何使用其他地方指定的访问信息访问嵌套的json对象,而不使用eval或迭代
- 如何在 JavaScript 中搜索其他不区分大小写的对象?像 _.where() 只有不区分大小写
- 一个按钮工作,其他不,相同的脚本
- 包含其他不自动更新字符串的字符串
- 固定标题位置在滚动-如果其他不工作
- 匹配字符序列和其他不包含字符序列的字符序列
- JavaScript Regexp -允许回车让其他不需要的字符验证
- 使用Jquery或其他不带id名称或类的表单验证
- 为什么我的“其他”不起作用