Files
blitzkit/src/utils/regex-utils.ts
T
2023-04-17 19:02:53 -05:00

32 lines
813 B
TypeScript

export class RegexUtils {
public static regex(input: string): RegExp {
let match = input.match(/^\/(.*)\/([^/]*)$/);
if (!match) {
return;
}
return new RegExp(match[1], match[2]);
}
public static escapeRegex(input: string): string {
return input?.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
}
public static discordId(input: string): string {
return input?.match(/\b\d{17,20}\b/)?.[0];
}
public static tag(input: string): { username: string; tag: string; discriminator: string } {
let match = input.match(/\b(.+)#([\d]{4})\b/);
if (!match) {
return;
}
return {
tag: match[0],
username: match[1],
discriminator: match[2],
};
}
}