簡體   English   中英

jQuery正則表達式按子字符串查找字符串

[英]jQuery regex to find string by substring

在我的網站上,多次出現帶有始終相同子字符串的字符串(比如說“ boo-foo”,“ loo-foo”和“ great-foo”)。

我想用firstpart- foo替換所有這些。 因此,所有這些的第一部分應加粗。

誰能在jQuery中提供正則表達式?

我相信它應該看起來像這樣,但是使用正則表達式:

$(this).html($(this).html.replace("boo-foo","<strong>boo-</strong>foo"));

請檢查此腳本,

var htmlText = $('body').html();
var replaced = htmlText.replace(/([\w\d]+)\-foo/ig, "<strong>$1</strong>-foo");
$('body').html(replaced);

小提琴: https : //jsfiddle.net/o6doa4o6/

更新了Fiddle,使“-”也變為粗體。

https://jsfiddle.net/o6doa4o6/1/

$(this).html($(this).html().replace(/^(.*)\-foo$/ig,'<strong>$1</strong>-foo');

您可以使用背面參考來查找捕獲的組,然后使用string.replace方法使用正則表達式替換字符串。 反向引用允許引用先前與捕獲組匹配的文本。 在javascript中,您可以使用$1來引用第一個捕獲的組。 同樣$2, $3..每個捕獲的組$2, $3..

以下實現顯示了此行為,但不包括Jquery部分。

 var stringValue = `boo-foo loo-foo great-foo`; var regexToSearch = /([a-zA-Z]*)-foo/g; var result = stringValue.replace(regexToSearch, '<strong>$1</strong>-foo'); console.log(result); 

暫無
暫無

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

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