簡體   English   中英

用於檢查字符串是否包含“`”字符的正則表達式

[英]Regex for checking if a string contains "`" character

我正在嘗試檢查字符串是否包含此字符`

如果找到該字符,則將該字符串包裹在<div>之間。

例如:

`this is it

應該變成:

<div>this is it</div>

我試過這樣做,但似乎不起作用:

let arr = "`this is it";
if (arr.includes('`')) {
  arr = arr.replace(/\`(\w+)\`/g, '<div>$1</div>');
}

有任何想法嗎?

您可以使用

arr.replace(/`([^`]+)`?/g, '<div>$1</div>')

正則表達式匹配

  • ` - 反引號
  • ([^`]+) - 除反引號外的一個或多個字符
  • `? - 一個可選的反引號

JavaScript 演示

 const arrs = ["`test` is `here`","`this is it"]; const regex = /`([^`]+)`?/g; for (const arr of arrs) { console.log(arr, '=>', arr.replace(regex, '<div>$1</div>')); }

我認為反引號應該只出現在行首。 如果最后還需要,請在正則表達式中的$之前添加另一個。

我還假設您的字符串是多行的,並且任何行都可以以反引號開頭。 如果沒有,請刪除m標志。

如果可以在一行超過一個反引號分隔字符串,使*量詞非貪婪與? 並刪除^$斷言。 如果這樣的子字符串可以跨越多行,還要添加s標志。

 let arr = "`this is it"; arr = arr.replace(/^`(.+)$/mg, '<div>$1</div>'); console.log(arr)

暫無
暫無

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

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