2011-04-25 13 views
2

我想在字符串中的第一尖括號內的內容,像裏面是什麼第一<>括號

str = 'testing <i need this> yes... and <i dont need this>'; 
str1 = '<i also need this> where r u?'; 

我想 「我需要這個」從海峽
「我還需要這種」從STR1

回答

5

一個正則表達式是做到這一點的好辦法:

var regex = /<(.*?)>/; 
var match = regex.exec(str); 
var insideBrackets = match.length > 1 && match[1]; 

編輯:從+切換到*爲確實括號中可能不包含任何內容。

編輯2:雙擊是正確的,它需要非貪婪,否則在您的第一個str它將返回第一個<和最後一個>之間的所有內容。謝謝BIlly。如果是我,我很可能會用/<([^>]*)>/明確表示我對什麼樣的支架感興趣。

+0

+1是短而甜。 – mattsven 2011-04-25 16:06:20

+2

我認爲正則表達式應該像這樣貪婪'/ <(.+?)> /' – 2011-04-25 16:10:57

+0

@BIlyly在JavaScript正則表達式中'''是否表示貪婪?我認爲默認情況下正則表達式是貪婪的,'?'關閉了貪婪?我打算研究:)如果有疑問,可能更明確的正則表達式,例如'/ <([^>] +)> /'會更好。 – 2011-04-25 16:13:31

相關問題