Similar to block
strings and comments, CoffeeScript supports block regexes
—
extended regular expressions that ignore internal whitespace and can contain comments and interpolation. Modeled after Perl’s /x
modifier, CoffeeScript’s block regexes are delimited by ///
and go a long way towards making complex regular expressions readable. To quote from the CoffeeScript source:
NUMBER = ///
^ 0b[01]+ | # binary
^ 0o[0-7]+ | # octal
^ 0x[\da-f]+ | # hex
^ \d*\.?\d+ (?:e[+-]?\d+)? # decimal
///i
​
var NUMBER;
​
NUMBER = /^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i; // binary
// octal
// hex
// decimal