2014-11-03 31 views
-5

請幫我做一個包含數字的字符串的正則表達式。正則表達式lookfroward貪心

我必須解析1234,1234567,但我不必找到類似1232:1233s的東西。

我想這

/[0-9]*/

但這常客需要從字符串匹配1233s1233,但情況並非如此。

+0

/^ [0-9] + $ /會打只含有用戶號碼串。爲小數點添加一個小數點 – dandavis 2014-11-03 21:31:25

回答

0

試試這個:

/[\d]+/ 

我希望這將是確定

+2

這與OP原始正則表達式失敗的原因完全相同:它匹配字符串中的任何數字序列,而不管它們周圍有什麼。 – 2014-11-03 21:35:45

2

嘗試負前瞻:

/^\d+(?!:)$/ 

說明:

  • \d+匹配一個多號
  • (?!:)後面沒有冒號。

展望和問題更加緊密,並提供:是不是你想要的匹配,以防止唯一的字符(謝謝MikeW),你要善於去用更簡單的正則表達式:

/^\d+$/ 
+0

'/^\ d + $ /'不夠嗎? – 2014-11-03 21:37:31

+0

@MikeW看起來我完全推翻了這個!你當然是對的。非常感謝你的配合! – dfsq 2014-11-03 21:39:51

1

考慮使用parseInt功能,而不是正則表達式:

parseInt("1233s") 
1233 
parseInt("1232:") 
1232