// exercise01
{
let p = document.querySelector("p");
p.innerHTML = ((__rkt_body) => {
const __rkt_to_regexp = (__pat, __global) => {
const __flags = (__pat instanceof RegExp)
? Array.from(new Set((__pat.flags.replace(/g/g, '') + (__global ? 'g' : '')).split(''))).join('')
: (__global ? 'g' : '');
return (__pat instanceof RegExp) ? new RegExp(__pat.source, __flags) : new RegExp(String(__pat), __flags);
};
const __rkt_match_array = (__m) => (__m === null ? false : Array.from(__m, (__x) => __x === undefined ? false : __x));
const __rkt_replacement = (__s) => {
if (typeof __s !== 'string') return __s;
let __out = '';
for (let __i = 0; __i < __s.length; __i++) {
const __ch = __s[__i];
if (__ch === '$') { __out += '$$'; continue; }
if (__ch === '\\' && __i + 1 < __s.length) {
const __n = __s[++__i];
if (__n >= '0' && __n <= '9') __out += (__n === '0' ? '$&' : ('$' + __n));
else __out += __n;
} else __out += __ch;
}
return __out;
};
return __rkt_body(__rkt_to_regexp, __rkt_match_array, __rkt_replacement);
})((__rkt_to_regexp, __rkt_match_array, __rkt_replacement) => String(p.innerHTML).replace(__rkt_to_regexp(new RegExp("\\b\\w{9,}\\b"), true), __rkt_replacement(function(word) {
return ("" + word + "");
})));
}
// exercise02
{
let p = document.querySelector("p");
p.insertAdjacentHTML("afterend", "Source: ForceM Ipsum");
}
// exercise03
{
let p = document.querySelector("p");
p.innerHTML = ((__rkt_body) => {
const __rkt_to_regexp = (__pat, __global) => {
const __flags = (__pat instanceof RegExp)
? Array.from(new Set((__pat.flags.replace(/g/g, '') + (__global ? 'g' : '')).split(''))).join('')
: (__global ? 'g' : '');
return (__pat instanceof RegExp) ? new RegExp(__pat.source, __flags) : new RegExp(String(__pat), __flags);
};
const __rkt_match_array = (__m) => (__m === null ? false : Array.from(__m, (__x) => __x === undefined ? false : __x));
const __rkt_replacement = (__s) => {
if (typeof __s !== 'string') return __s;
let __out = '';
for (let __i = 0; __i < __s.length; __i++) {
const __ch = __s[__i];
if (__ch === '$') { __out += '$$'; continue; }
if (__ch === '\\' && __i + 1 < __s.length) {
const __n = __s[++__i];
if (__n >= '0' && __n <= '9') __out += (__n === '0' ? '$&' : ('$' + __n));
else __out += __n;
} else __out += __ch;
}
return __out;
};
return __rkt_body(__rkt_to_regexp, __rkt_match_array, __rkt_replacement);
})((__rkt_to_regexp, __rkt_match_array, __rkt_replacement) => String(p.textContent).replace(__rkt_to_regexp(new RegExp("\\.\\s*"), true), __rkt_replacement(".
")));
}
// exercise04
{
let heading = document.querySelector("h1");
let p = document.querySelector("p");
let words = ((__rkt_body) => {
const __rkt_to_regexp = (__pat, __global) => {
const __flags = (__pat instanceof RegExp)
? Array.from(new Set((__pat.flags.replace(/g/g, '') + (__global ? 'g' : '')).split(''))).join('')
: (__global ? 'g' : '');
return (__pat instanceof RegExp) ? new RegExp(__pat.source, __flags) : new RegExp(String(__pat), __flags);
};
const __rkt_match_array = (__m) => (__m === null ? false : Array.from(__m, (__x) => __x === undefined ? false : __x));
const __rkt_replacement = (__s) => {
if (typeof __s !== 'string') return __s;
let __out = '';
for (let __i = 0; __i < __s.length; __i++) {
const __ch = __s[__i];
if (__ch === '$') { __out += '$$'; continue; }
if (__ch === '\\' && __i + 1 < __s.length) {
const __n = __s[++__i];
if (__n >= '0' && __n <= '9') __out += (__n === '0' ? '$&' : ('$' + __n));
else __out += __n;
} else __out += __ch;
}
return __out;
};
return __rkt_body(__rkt_to_regexp, __rkt_match_array, __rkt_replacement);
})((__rkt_to_regexp, __rkt_match_array, __rkt_replacement) => String(p.textContent).split(__rkt_to_regexp(new RegExp(" "), true)));
let count = (words).length;
heading.insertAdjacentHTML("afterend", ("
" + String(count) + " words
")); } // exercise05 { let p = document.querySelector("p"); let step = ((__rkt_body) => { const __rkt_to_regexp = (__pat, __global) => { const __flags = (__pat instanceof RegExp) ? Array.from(new Set((__pat.flags.replace(/g/g, '') + (__global ? 'g' : '')).split(''))).join('') : (__global ? 'g' : ''); return (__pat instanceof RegExp) ? new RegExp(__pat.source, __flags) : new RegExp(String(__pat), __flags); }; const __rkt_match_array = (__m) => (__m === null ? false : Array.from(__m, (__x) => __x === undefined ? false : __x)); const __rkt_replacement = (__s) => { if (typeof __s !== 'string') return __s; let __out = ''; for (let __i = 0; __i < __s.length; __i++) { const __ch = __s[__i]; if (__ch === '$') { __out += '$$'; continue; } if (__ch === '\\' && __i + 1 < __s.length) { const __n = __s[++__i]; if (__n >= '0' && __n <= '9') __out += (__n === '0' ? '$&' : ('$' + __n)); else __out += __n; } else __out += __ch; } return __out; }; return __rkt_body(__rkt_to_regexp, __rkt_match_array, __rkt_replacement); })((__rkt_to_regexp, __rkt_match_array, __rkt_replacement) => String(p.innerHTML).replace(__rkt_to_regexp(new RegExp("\\?"), true), __rkt_replacement("🤔"))); let out = ((__rkt_body) => { const __rkt_to_regexp = (__pat, __global) => { const __flags = (__pat instanceof RegExp) ? Array.from(new Set((__pat.flags.replace(/g/g, '') + (__global ? 'g' : '')).split(''))).join('') : (__global ? 'g' : ''); return (__pat instanceof RegExp) ? new RegExp(__pat.source, __flags) : new RegExp(String(__pat), __flags); }; const __rkt_match_array = (__m) => (__m === null ? false : Array.from(__m, (__x) => __x === undefined ? false : __x)); const __rkt_replacement = (__s) => { if (typeof __s !== 'string') return __s; let __out = ''; for (let __i = 0; __i < __s.length; __i++) { const __ch = __s[__i]; if (__ch === '$') { __out += '$$'; continue; } if (__ch === '\\' && __i + 1 < __s.length) { const __n = __s[++__i]; if (__n >= '0' && __n <= '9') __out += (__n === '0' ? '$&' : ('$' + __n)); else __out += __n; } else __out += __ch; } return __out; }; return __rkt_body(__rkt_to_regexp, __rkt_match_array, __rkt_replacement); })((__rkt_to_regexp, __rkt_match_array, __rkt_replacement) => String(step).replace(__rkt_to_regexp(new RegExp("!"), true), __rkt_replacement("😲"))); p.innerHTML = out; }