Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
1-liner: replaceAll & RegExp match solution in Creative category for Unix Match. Part 1 by --Serial_Sniper--
import assert from "assert";
var unixMatch = (filename, pattern) =>
!!filename.match(pattern.replace(".", "\\.").replaceAll("*", ".*").replaceAll("?", ".{1}"));
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!");
Aug. 19, 2020