2012-08-11 34 views
2

我仍在試圖學習如何格式化自己的表達式......所以我在試圖弄清楚這個問題時遇到了問題。任何人都可以用正則表達式來幫助我找到這種油重量格式:10W-30或0W-30。油重的Javascript正則表達式

基本上,第一個數字可以是兩個數字或一個,後面跟着字母W和破折號......最後兩個字符必須是兩位數字。

所以如果x的數字是xW-xx或xxW-xx。

我還在自己看着它......但任何人都可以幫助我真的會感激。謝謝。

這是我到目前爲止有:

/^([0-9]){1,2} [W] - {2,2} $/

我錯過了什麼?

回答

0

這是一個非常簡單的正則表達式,簽上如何實現它的W3 docs。的什麼怎麼回事

[0-9]{1,2}W-[0-9][0-9] 

快速的解釋:

  1. 第一個[0-9]指定匹配正在尋找一個數字0-9。
  2. 花括號指定以前的匹配可以是一個或兩個字符長。
  3. 現在的W不是一個正則表達式字符命令,所以你可以在那裏明白如天。

快速回顧一下,現在在這一點上的正則表達式匹配任意兩位數字後面是資本W

現在正則表達式的其餘部分是容易弄清楚,因爲連字符又不是特殊字符,你已經知道方括號在做什麼。

+0

非常感謝。我爲成爲這樣的新人而道歉,但我很感激幫助。這是否會在開始時允許一位數字或兩位數字?噢,沒關係,你編輯它。再次感謝邁克爾。 – tquill 2012-08-11 19:05:25

+0

沒有什麼大不了的,我真的搞砸了我的例子,現在編輯它。 – 2012-08-11 19:05:55

0

\d將匹配的數字,所以你只想做這樣的事情:

('10W-30').match(/^(\d{1,2})W-(\d{2})$/) // => ["10W-30", "10", "30"]

+1

唯一的問題是,正則表達式正在尋找自己的產品線的油重量。 – 2012-08-11 18:57:56