2017-03-08 117 views
0

好吧,我有這樣的/^([SW])\w+([0-9]{4})$/正則表達式匹配是4位數

此模式的正則表達式匹配應該像SW0001一個字符串SW - 前綴和4位。

我想[0-9]{4}會做這項工作,但它也匹配5個數字的字符串等等。

有關如何獲得此工作的任何建議只能匹配SW和4位數的字符串?

在正則表達式
+3

添加'$'錨點。 '/^SW \ d {4} $ /'。這是因爲'\ w +'其中'\ w +'匹配一個或多個字母數字字符。 – Tushar

+2

'\ w +'也匹配數字。你的意思是使用'/ ^([SW])[a-zA-Z] *([0-9] {4})$ /'? –

+1

請不要添加解決方案的問題。 – Tushar

回答

4

讓我們看看正則表達式/^([SW])\w+([0-9]{4})$/比賽

  1. 以S開頭或W,因爲字符類用於
  2. 一個或多個字母數字字符或下劃線(\w = [a-zA-Z0-9_]
  3. 四位數字

這不僅僅是SW0001

使用下面的正則表達式。

/^SW\d{4}$/ 

此正則表達式將匹配以SW後緊跟四位數字開始的字符串。

2

  • ^意味着你要在字符串的開頭
  • $意味着你要在字符串

,所以如果你想比賽結束匹配匹配「SW」+正好需要4位數字

^SW[0-9]{4}$