2011-03-12 88 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)$ 
相關問題