1
merlin852 2014 年 1 月 9 日
正则主要是针对string处理
你这要求按数值比较,还会变动,还是用 > or < 比较好 正则针对2位以上的数值处理真的很弱 |
2
Mutoo 2014 年 1 月 9 日
数字不多的话,可以全部列出来
2~9 11,12,13: \b((11|12|13)?|[23456789])\b 原则,字符串长的放前面,用分组+惰性匹配,短的放后面。 |
3
Mutoo 2014 年 1 月 9 日
@Mutoo 纠正一下,貌似不需要惰性匹配
\b((11|12|13|15)|[23456789])\b > "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 105".match(/\b((11|12|13)|[23456789])\b/g) ["2", "3", "4", "5", "6", "7", "8", "9", "11", "12", "13"] |
4
older OP 100到350 这样要写很长的吧
|
6
binux 2014 年 1 月 9 日
又一个X-Y问题?这压根就不是一个正则文法吧
|
7
Mutoo 2014 年 1 月 9 日
@older 那样的话应该没办法纯正则了。
你应该用回调函数来处理,匹配所有数字,然后传入处理就行了,大部分语言都支持。 str.match(/\d+/g, function(n){ var num = parseInt(n); // do something you want }); |
8
liberize 2014 年 1 月 9 日
楼主最好把应用场景说出来,应该有比用纯正则更好的方式
|
9
yinheli 2014 年 1 月 10 日
最好是粘贴一些范例, 以及你需要得到的效果, 也好让大家测试
|