Files
openclaw/src/browser/url-pattern.ts
2026-03-13 23:56:48 +00:00

16 lines
496 B
TypeScript

export function matchBrowserUrlPattern(pattern: string, url: string): boolean {
const trimmedPattern = pattern.trim();
if (!trimmedPattern) {
return false;
}
if (trimmedPattern === url) {
return true;
}
if (trimmedPattern.includes("*")) {
const escaped = trimmedPattern.replace(/[|\\{}()[\]^$+?.]/g, "\\$&");
const regex = new RegExp(`^${escaped.replace(/\*\*/g, ".*").replace(/\*/g, ".*")}$`);
return regex.test(url);
}
return url.includes(trimmedPattern);
}