簡體   English   中英

通過正則表達式增量分組

[英]Incremental grouping via regular expression

我正在嘗試在 Javascript 中構建一個正則表達式,該表達式使用增量文本創建組,但不知道這是否可以通過正則表達式完成。

我有以下字符串:

蓋盧珀超市 BAULKHAM HILL 澳大利亞新南威爾士州

我想構建的是一個匹配/創建以下組的正則表達式:

Group 1: AUSTRALIA
Group 2: NSW AUSTRALIA
Group 3: HILL NSW AUSTRALIA
Group 4: BAUKHAM HILL NSW AUSTRALIA
Group 5: SUPERSTORE BAUKHAM HILL NSW AUSTRALIA

到目前為止,我已經成功地使用正則表達式匹配/創建了一個單詞的組:

/(?:\s(\w+))/gi

但這會創建 5 個帶有單獨單詞的組:

Group 1: SUPERSTORE
Group 2: BAUKHAM
Group 3: HILL
Group 4: NSW
Group 5: AUSTRALIA

我顯然可以使用循環來完成我想要實現的目標,但我想知道單個正則表達式是否可以創建相同的輸出。

謝謝!

就像 Wiktor 所說的那樣,您可以為它編寫一些代碼,而不是通過正則表達式來完成。 這是相同的javascript代碼。 試着玩它,

 <html> <head> <script> function abc(s) { var tokens = s.split(" "); var ss = ""; for (var i = 1; i < tokens.length; i++) { for (var j = tokens.length - i; j < tokens.length; j++) { ss += tokens[j]; if (j + 1 < tokens.length) { ss += " "; } } ss += "<br/>"; } document.getElementById("demo").innerHTML = ss; } </script> <body> <input type="text" id='intxt' value='GALLUPER SUPERSTORE BAULKHAM HILL NSW AUSTRALIA' size="100" /> <button type="button" onclick="abc(document.getElementById('intxt').value)">Click here to see demo</button> <p id="demo"></p> </body> </html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM