Regex 需要正则表达式来替换标记并转换为;i>;标签

Regex 需要正则表达式来替换标记并转换为;i>;标签,regex,font-awesome,quill,Regex,Font Awesome,Quill,我正在寻找一个正则表达式来搜索字符串中两个冒号之间的任何内容,并将其转换为标记 ::token::之间的内容正是插入到标记中的内容 它需要替换字符串中的所有::标记::,因为该字符串可能包含许多标记 例子 替换: ::fa-camera-retro:: 与 与 注意: 我使用此方法将FontAwesome插入Quilljs编辑器。您可以执行以下操作: "::fa-camera-retro::".replace(/::(.*)::/, (string,match) => `&

我正在寻找一个正则表达式来搜索字符串中两个冒号之间的任何内容,并将其转换为
标记

::token::
之间的内容正是插入到
标记中的内容

它需要替换字符串中的所有
::标记::
,因为该字符串可能包含许多标记

例子

替换:

::fa-camera-retro::


注意:
我使用此方法将FontAwesome插入Quilljs编辑器。

您可以执行以下操作:

"::fa-camera-retro::".replace(/::(.*)::/, (string,match) => 
    `<i class="fas ${match}"></i>`
)
“::fa相机复古:”。替换(/::(.*):/,(字符串,匹配)=>
``
)
replace
方法采用正则表达式(
/::(.*):/
)。这里我们匹配两组冒号,中间的任何内容都放在括号中,使它们成为匹配组。
replace
的第二个参数可以是函数。参数是匹配项,然后是在匹配项中声明的任何组。该函数返回字符串以替换原始的整个匹配项

请注意,这对许多匹配项都不起作用,但您可以通过调整正则表达式(更好)或通过操纵文本一次管理一个标记(更慢)来解决这一问题

::fb::
<i class="fas fb"></i>
"::fa-camera-retro::".replace(/::(.*)::/, (string,match) => 
    `<i class="fas ${match}"></i>`
)