Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Unix Match. Part 1 by Dmitry_Sternyaev
import assert from "assert";
function unixMatch(filename: string, pattern: string): boolean {
// your code here
return new RegExp(pattern.replace(/\./g, `[.]`).replace(/\?/g, `.`).replace(/\*/g, `.+`)).test(filename);
}
console.log('Example:');
console.log(unixMatch('somefile.txt', '*'));
// These "asserts" are used for self-checking
assert.equal(unixMatch('somefile.txt', '*'), true);
assert.equal(unixMatch('other.exe', '*'), true);
assert.equal(unixMatch('my.exe', '*.txt'), false);
assert.equal(unixMatch('log1.txt', 'log?.txt'), true);
assert.equal(unixMatch('log12.txt', 'log?.txt'), false);
assert.equal(unixMatch('log12.txt', 'log??.txt'), true);
console.log("Coding complete? Click 'Check' to earn cool rewards!");
Oct. 9, 2020