2011-03-12 51 views
0

我需要一个REGEX过滤掉并且只接受某些字符串组,或者在我的情况下,代码。创建一个正则表达式只接受一组特定的字符串

这就是我的,它的工作原理,但似乎并不是最明智的做法。现在

/^[046R,047R,048R,049R,050R,051R\ ]+$/ 

,我可以接受来自“046R”到“089R”任何地方的代码列表(在046到089是连续的)。所以我可以明确地写出我的表达式上接受的所有代码(正如我上面开始的那样),但确实有更好的方法。
任何想法?

谢谢。

回答

2
^0(?:4[6-9]|[5-8]\d)R$ 

应该这样做。你必须在04x上设置独占,但5-8x是非常通用的。

Demo

捕获,环绕在括号:

^(0(?:4[6-9]|[5-8]\d)R)$ 
相关问题