2012-04-07 63 views
0

我仍然是新的正則表達式(我應該學習),我只需要JS正則表達式從這樣的文本中提取字符串和數字:[number][string]JavaScript的正則表達式來提取文本和數字

(/^(\d+).(\s+)/?) 

請幫忙嗎?

+0

你能表現出一定的'text'您需要從提取? – Engineer 2012-04-07 10:40:33

+0

一些例子123123K,333D。 – albanx 2012-04-07 10:50:46

回答

2

我認爲你正在尋找「/\d+[a-z]+/gi」:

var x = "123123K, 333D".match(/\d+[a-z]+/gi); 
console.log(x)​; //["123123K", "333D"] 

UPDATEx是數組。可以遍歷並提取號碼和文字:

xitem.match(/\d+/)[0]  //number 
xitem.match(/[a-z]+/i)[0] //text 

PS:關於\s

匹配一個空白字符,這在ASCII是標籤,換行, 進紙,回車,和空間;在Unicode中,也匹配 不間斷空格,下一行和可變寬度空格(其他 之間)。

http://en.wikipedia.org/wiki/Regular_expression#Examples

+0

對不起工程師,我不清楚:例如,如果我有123123D我想提取123123和D – albanx 2012-04-07 11:32:31

+0

@albanx我已更新我的答案,檢查它。 – Engineer 2012-04-07 11:49:37

+0

帶有兩個正則表達式的更新部分也會匹配「D123」和「1D1D1」等字符串......捕獲兩個有趣的部分更有意義:console.log(「123123K」.match(/(\ d +)([ AZ] +)/ GI));'。 – DCoder 2012-04-07 11:57:29

0

如果方括號在該行也然後執行以下操作:

/^\[(\d+)\]\[(\s+)\]$/ 

如果他們不

/^(\d+)(\s+)$/ 
+0

是不是,這只是例如,謝謝 – albanx 2012-04-07 10:51:35

+0

我想這個,但X結果爲空:var x =「123123M」.match(/ ^(\ d +)(\ s +)$ /); \t \t console.log(x); – albanx 2012-04-07 10:57:03

+0

'\ s'用於匹配空格。 「123123M」沒有空格。 – DCoder 2012-04-07 11:53:29