我正在寻找一个正则表达式,以在字符串中搜索两个冒号之间的所有内容,并将其转换为FontAwesome <i>
标签。
::token::
之间是什么,完全是插入在<i>
FontAwesome标记中的
由于字符串可能包含许多标记,因此将需要替换字符串中的所有::tokens::
。
示例
替换:
::fa-camera-retro::
使用
<i class="fas fa-camera-retro"></i>
和其他类似的东西:
::fb::
使用
<i class="fas fb"></i>
注意: 我以此为方式将FontAwesome插入Quilljs编辑器。
答案 0 :(得分:0)
您可以执行以下操作:
"::fa-camera-retro::".replace(/::(.*)::/, (string,match) =>
`<i class="fas ${match}"></i>`
)
replace
方法使用正则表达式(/::(.*)::/
)。在这里,我们将两组冒号进行匹配,并且将两者之间的任何内容都放在括号中,使它们成为匹配组。 replace
的第二个参数可以是一个函数。参数是匹配项,然后是您在匹配项中声明的任何组。该函数返回字符串以替换原始的完整匹配项。
请注意,这在许多匹配项中均不起作用,但是您可以通过调整正则表达式(最好)或通过操纵文本来一次管理一个令牌(更慢)来解决此问题。