簡體   English   中英

JavaScript RegEx:如何使用變量中的特定值創建RegEx模式?

[英]JavaScript RegEx: How to create a RegEx pattern using a specific value from a Variable?

我有這個變量:

var search = "dummy";
var replace = "<strong>" + search + "</strong>";
var contents = "my contents are here and this dummy value should be bolded...";

contents.replace(/search/gi, replace);

因此,如何在RegEx模式下設置此“搜索”變量,然后為我的匹配設置/ gi設置。

嘗試

new RegExp('yourSearchHere', 'gi');

您還應該意識到以下事實:必須轉義某些序列。 順便說一句。 在構造這樣的正則表達式時,必須將它們加倍轉義(新的RegExp('\\\\ n')->匹配\\ n)

您還可以使用RegExp對象創建正則表達式:

search = "dummy";
x = new RegExp(search,"gi");

var search = "dummy";
var replace = "<strong>" + search + "</strong>";
var contents = "my contents are here and this dummy value should be bolded...";
window.alert(contents.replace(x, replace));

http://jsfiddle.net/YhqjY/

您可以使用反向引用 :$ 1會記住您與正則表達式匹配的內容。 這樣做是因為您要搜索的單詞放在組成捕獲組的圓括號內。

var contents = "my contents are here and this dummy value should be bolded...";


function makeStronger( word, str ) {
    var rxp = new RegExp( '(' + word +')', 'gi' );
    return str.replace( rxp, '<strong>$1<\/strong>' );
}

console.log( makeStronger( 'dummy', contents ) );
// my contents are here and this <strong>dummy</strong> value should be bolded...

暫無
暫無

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

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