UNPKG

@voerkai18n/utils

Version:

utils for voerkai18n

23 lines 652 B
import { escapeRegex } from './escapeRegex'; /** * * 将一个正则表达式转换为字符串形式 * * 如果提供了vars参数,将会替换掉正则表达式字符串中的变量 * * encodeRegExp(/a\bc/i) => "a\\bc" * encodeRegExp(/<__TAG__ a\bc/i,{'__TAG__':'div'}) => "<div a\\bc" * * * @param regex * @returns */ export function encodeRegExp(regex:RegExp,vars?:Record<string,string>){ let r = regex.toString().replace(/^\/|\/$/g, ""); if(vars && typeof(vars)==="object"){ Object.entries(vars).forEach(([k,v])=>{ r = r.replaceAll(k,v) }) } return r }