我正在做一个音乐创作项目。输入只包含阿尔法字符和数字。regex是我们设置的限制条件之一。
因此,这使我的数字低于26,但如果27这样的数字出现,它仍然是2和7。我怎么能排除所有的数字26和更高?谢谢!
/[0-2][0-5]|[1-9]/g 我应该add...this是一个大字符串的一部分,在数字前后都有字母和空格。所以我必须识别字符串中的数字并把它们拉出来。只使用string.prototype.match()和regex。说来话长。Thx
发布于 2016-08-25 07:00:28
您的[0-2][0-5]|[1-9]正则表达式模式匹配字符串中任何位置的0-2数字序列和0-5数字或1-9数字。
要匹配从1到25的单个值,可以使用
/\b(0?[1-9]|1[0-9]|2[0-5])\b/g模式细节
\b -主导词边界(0?[1-9]|1[0-9]|2[0-5]) -可供选择的任何一种:0?[1-9] -一个可选的前导0,后面跟着一个从1到9的数字1[0-9] - 10直到192[0-5] - 20直到25
\b -尾随字界发布于 2016-08-25 06:31:25
啊..。所以你现在..。0-5,10-15,20-25或0-9
你有正确的想法,只是错误地应用了这个想法。
([01]?[0-9]|2[0-5])
// should omit those pesky one-offs you're seeing as mentioned in the comments.
^([01]?[0-9]|2[0-5])$
\b([01]?[0-9]|2[0-5])\b
// if you also want to exclude 0...
^([1-9]|1[0-9]|2[0-5])$
\b([1-9]|1[0-9]|2[0-5])\b这个比喻表示从0到19(w/或w/o )或20-25之间的任何数字。
发布于 2016-08-25 06:34:13
我会建议一些类似于(提取或删除我添加的一些元素,因为我不知道您的确切需求)。
/^(([ 01]?[1-9])|2[0-5])$/^...$。?以允许一位数的输入。|但是总的来说,确实有比regex更好的工具来完成这项工作,比如解析数字和做一个简单的比较。
https://stackoverflow.com/questions/39138073
复制相似问题