我試圖製作一個正則表達式來獲取< ... >
標記中的第一個單詞。我已經有一個獲取標籤中的所有單詞。我使用它:使用正則表達式獲取標記中的第一個字
/<(.*?)>/
我的問題是,我可以使用正則表達式在標籤中獲得第一個單詞嗎?
我試圖製作一個正則表達式來獲取< ... >
標記中的第一個單詞。我已經有一個獲取標籤中的所有單詞。我使用它:使用正則表達式獲取標記中的第一個字
/<(.*?)>/
我的問題是,我可以使用正則表達式在標籤中獲得第一個單詞嗎?
這裏有一個工作的解決方案:/<([^>\s]+)[^>]*>/
這將做到這一點...
/<(.*?)\s/
在簡單情況下/<(\S+)/
可能是你在找什麼,或者你可能會更正式和實際列出只允許在標籤名稱中的字符。
var tag = "< hello world>";
var regex = /<\s*(\S*)\b/;
if (match_arr = tag.match(regex)) {
alert("yes:" + match_arr[1]);
}
有沒有辦法在標籤的第一個字後,讓每一個字?
var tag = "< hello world goodbye >";
var regex = /<(.*?)>/;
if (match_arr = tag.match(regex)) {
var str = match_arr[1].trim();
var words = str.split(" ");
console.log("-->" + words.slice(1).join(" ") + "<--");
}
--output:--
-->world goodbye<--
這是HTML?如果是這樣,只需將其解析爲文檔片段並使用'elem.tagName'。 – Blender 2013-04-30 00:49:45
這是一個使用正則表達式的解析器。 – user2228462 2013-04-30 00:50:32
@ user2228462,接受的解決方案是錯誤的。看看我的答案,知道爲什麼。 – plalx 2013-04-30 01:33:26