@voerkai18n/utils
Version:
utils for voerkai18n
23 lines • 652 B
text/typescript
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
}