我知道用正則表達式,你可以得到的每一個字和他們的第一個字母與我得到的第一個和最後一個字嘗試了大量的谷歌搜索,但無法找到任何兩個,而不是第一個或最後一個字) 我相信應該有可能在1個正則表達式而不是2個不同的。如何使用正則表達式
我的字符串和想要的結果的例子?
字符串:你好世界先生
會給予回覆:[ 'H', 'W']
我知道用正則表達式,你可以得到的每一個字和他們的第一個字母與我得到的第一個和最後一個字嘗試了大量的谷歌搜索,但無法找到任何兩個,而不是第一個或最後一個字) 我相信應該有可能在1個正則表達式而不是2個不同的。如何使用正則表達式
我的字符串和想要的結果的例子?
字符串:你好世界先生
會給予回覆:[ 'H', 'W']
^\w|\b\w(?=\S+$)
嘗試this.See演示。
https://regex101.com/r/fA6wE2/31
編輯:
^\s*(\w)|\b(\w)(?=\S+$)
使用該搶的組或捕獲,如果有在啓動空間。
如果輸入是'
阿維納什是正確的,也給了我這個錯誤: 未捕獲的SyntaxError:意外的標記^ 就此致電: elementText.match(?^ \ W | \ B \ W(= \ S + $)); – PrivateerGerrit
@PrivateerGerrit檢查編輯 – vks
雖然將只處理相當具體的投入,你應該能夠使用類似:
var test = [
"Get the first and last word",
"Hello world!",
"foo bar",
"this is a test, for matches",
"test"
];
var rex = /^((\w*)\s?).*?(\s?(\w*)[^\w\s]*)$/;
test.forEach(function(it) {
document.getElementById("results").textContent += JSON.stringify(rex.exec(it)) + "\n";
});
<pre id="results"></pre>
匹配2,4會給你的第一個和最後的修整版本話。
看,正則表達式/^((\w*)\s?).*?(\s?(\w*)[^\w\s]*)$/
:
^(\w).*\b(\w).*?$
會給你在找什麼。 regex101
我收到第一個字作爲迴應。我需要一個JavaScript正則表達式,而不是php – PrivateerGerrit
在這種情況下,語法是相同的。您只需使用「$ 1」和「$ 2」的捕獲。 – 1252748
你的意思是第一個和最後一個單詞或第一個和最後一個單詞的首字母? – anubhava