簡體   English   中英

<a href>如果標簽具有特定格式,請在 javascript 中使用正則表達式刪除標簽</a>

[英]Remove <a href > tag if it has specific format using regex in javascript

我有這種格式的錨標記(用戶名作為鏈接文本) <a href="#">@rey</a>

僅當<a>標簽包含用戶名格式 (@username) 時,我才想刪除標簽。

目前我有以下任務代碼,但它沒有按預期工作

let message= "Hello <a href="#">@rey</a> how are you doing ?"
const regex = /\B<a href='#'>@(\S+)<\/a>/g
const subst = `@$1`
message = message.replace(regex, subst)
console.log(message)

假設標簽可以是任何東西,使用這個正則表達式:

<(\w+)\b[^>]+>@(?<username>\w+)<\/\1>

如果標簽是固定的(即<a>

<a[^>]*>@(?<username>\w+)<\/a>

替換代碼:

let message= 'Hello <a href="#">@rey</a> how are you doing ?'
const regex = /<(\w+)\b[^>]+>@(?<username>\w+)<\/\1>/g;
message = message.replace(regex, `$<username>`)
console.log(message)

“你好,雷伊,你好嗎?”

這里檢查結果

let指令中的引用問題。 以下應該工作:

 let message= "Hello <a href='#'>@rey</a> how are you doing?" const regex = /\B<a href='#'>@(\S+)<\/a>/g const subst = `@$1` message = message.replace(regex, subst) console.log(message)

甚至

 let message= 'Hello <a href="#">@rey</a> how are you doing?' const regex = /\B<a href="#">@(\S+)<\/a>/g const subst = `@$1` message = message.replace(regex, subst) console.log(message)

暫無
暫無

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

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