日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

匹配替换指定文本为html标签

發布時間:2025/3/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 匹配替换指定文本为html标签 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近看了一道前端面試題,是關于正則的,用盡可能低復雜度的函數,匹配替換指定文本為html標簽,題目是這樣的:

特定語法匹配替換 說明:匹配字符串中形如 =g文字文字= 的語法,并將相應部分轉化為對應的標簽文字文字 示例: transform('=g1.18 進入開發='); // <g>1.18 進入開發</g> transform('=g1.23 聯調(-1)=,=g1.25 發布(+1)=');// <g>1.23 聯調(-1)</g>,<g>1.25 發布(+1)</g> transform('1.25 發布'); // 1.25 發布

?

按照正常情況,我們能瞬間想到以下幾種解法:

  • 正則分步替換
  • indexOf查找替換

以上二者均是分步處理,先匹配=g,替換成<g>,然后匹配=,替換成</g>,這種屬于暴力破解。

?

下面介紹下replace函數,重點是以前忽略掉的一個參數 replacement,

stringObject.replace(regexp/substr,replacement)

?

基礎的用法是這樣的:

text = "javascript Tutorial"; text.replace(/javascript/i, "JavaScript");

  

或者是這樣的:

name = '"a", "b"'; name.replace(/"([^"]*)"/g, "'$1'");

  

我們這里使用函數式的用法,答案如下:

  str.replace(/=g|=/g, (a) => {return {'=': '</g>','=g': '<g>',}[a]})

  

轉載于:https://www.cnblogs.com/coderhero/p/10570104.html

總結

以上是生活随笔為你收集整理的匹配替换指定文本为html标签的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。