這個問題在這里已經有了答案: 僅當單詞前面沒有特定字符時才替換單詞 (2 個回答) 昨天關閉。
截至17 小時前,社區正在審查是否重新打開此問題。
我知道(?<!)運算子背后的負面看法,但似乎 Expo/React-Native 中使用的 Javascript 引擎不支持它。我想要的是實作以下內容
export function processEmbedded(text: string): string {
return text.replace(/(?<!!)\[Embedded\]/gm, "![Embedded]");
}
我所做的有點笨拙,因為我剝離并重新添加。
export function processEmbedded(text: string): string {
return text
.replace(/!\[Embedded\]/gm, "[Embedded]")
.replace(/\[Embedded\]/gm, "![Embedded]");
}
對于我的情況,它確實有效,但我很確定有一個邊緣情況它不起作用。
uj5u.com熱心網友回復:
您可以使用捕獲組使用此變通解決方案:
export function processEmbedded(text: string): string {
return text.replace(/(^|[^!])\[Embedded\]/gm, "$1![Embedded]");
}
正則運算式演示
(^|[^!])匹配行首或不在!第一個捕獲組中的字符。在替換中,我們使用$1反向參考將其放回原處。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/358693.html
標籤:javascript 正则表达式 打字稿 反应原生 世博会
上一篇:正則運算式字串組不同狀態
