簡體   English   中英

不區分大小寫的javascript替換考慮到單詞邊界的正則表達式

[英]Case Insensitive javascript replace regex taking account word boundary

我正在考慮到單詞邊界的情況下在javascript中編寫替換功能

blog = blog.toLowerCase().replace(new RegExp("\\b" + wordList[i].toLowerCase() + "\\b", 'g'), "value to replace");

現在這是一個CASE SESITIVE替換,我想使其成為CASE INSENSITIVE

我怎樣才能做到這一點?

雖然對於不區分大小寫的用戶有\\ I,但我不知道如何將其放入我的代碼中

任何幫助表示贊賞。

只需在new RegExp()構造函數flags參數中將g傳遞給i 像這樣:

new RegExp("\\b" + wordList[i].toLowerCase() + "\\b", 'gi')

到那時,您應該能夠刪除所有String.toLowerCase調用:

var re = new RegExp("\\b" + wordList[i] + "\\b", 'gi');
blog = blog.replace(re, 'value to replace');

注意,您可能需要轉義worldList\\[i\\]的值,以便您的代碼不會意外地嘗試創建格式不正確的正則表達式。

將您的'g'更改為'gi' “ g”表示“全局”,“ i”表示“不區分大小寫”:

..., 'gi'), "value...

暫無
暫無

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

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