Solución
solution.tsTypeScript
export function regexMatch(text: string, pattern: string): boolean {
// Caso base
if (pattern.length === 0) {
return text.length === 0;
}
const firstMatch =
text.length > 0 &&
(pattern[0] === text[0] || pattern[0] === '.');
// Si el siguiente carácter es '*'
if (pattern.length >= 2 && pattern[1] === '*') {
return (
regexMatch(text, pattern.slice(2)) || // usar 0 ocurrencias
(firstMatch && regexMatch(text.slice(1), pattern)) // usar 1 o más
);
}
return (
firstMatch &&
regexMatch(text.slice(1), pattern.slice(1))
);
}0respuestas