我需要找到一個(gè)正則表達(dá)式(在 go 中)來(lái)匹配單詞集中的(sun|flower)單詞,例如但僅分隔單詞,例如"sun flower"應(yīng)該匹配兩個(gè)單詞,但"sunflower"或"sun-flower"不應(yīng)該匹配。我的第一種方法是使用正則表達(dá)式\b(sun|flower)\b,但在這種情況下"sun-flower",兩個(gè)詞都是匹配的。嘗試使用 , 之類(lèi)的正則表達(dá)式(?:^|\s+)(sun|flower)(?:\s+|$)不 "sun-flower"匹配,這是可以的,但是當(dāng)"sun flower"僅使用 sun 進(jìn)行測(cè)試時(shí)匹配。我已經(jīng)看到其他語(yǔ)言(如 java 或 python)具有前瞻和后瞻斷言,我們可以使用正則表達(dá)式來(lái)實(shí)現(xiàn)這一點(diǎn)(?:^|(?<= ))(sun|flower)(?:(?= )|$)但是在 go 中不支持?jǐn)嘌?,所以我想知道是否有辦法通過(guò) go 實(shí)現(xiàn)這一點(diǎn)
2 回答

aluckdog
TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊
我之前發(fā)布了一個(gè)答案,但后來(lái)想得更好。
無(wú)需對(duì)我的數(shù)據(jù)使用多次傳遞,我就能夠獲得前瞻和其他此類(lèi)“花哨”的東西。
例如,為什么不簡(jiǎn)單地使用空格分割字符串,然后在生成的字符串切片中查找太陽(yáng)或花朵?所涉及的正則表達(dá)式會(huì)更短(簡(jiǎn)單^(sun|flower)$
),并且代碼更容易維護(hù)。
- 2 回答
- 0 關(guān)注
- 125 瀏覽
添加回答
舉報(bào)
0/150
提交
取消