2016年10月21日金曜日

開発環境

Eloquent JavaScript(Marijn Haverbeke 著、No Starch Press)のPart 1(Language)、Chapter 9(Regular Expressions)、Exercises(Regexp Golf)を取り組んでみる。

Exercises(Regexp Golf)

コード(Emacs)

JavaScript

{
    'use strict';
    let reg1 = /ca[rt]/,
        reg2 = /pr?op/,
        reg3 = /ferr(et|y|ari)/,
        reg4 = /\b\w*ious\b/,
        reg5 = /[\.,:;]\s/,
        reg6 = /\w{6,}/,
        reg7 =/[a-df-z]+/,
        regs = [reg1, reg2, reg3, reg4, reg5, reg6, reg7];

    let s = 'car and cat, pop and prop, ferret, ferry, and ferrari, ' +
        'any word ending in ious, a whitespace character followed by a dot, ' +
        'comma, coln, or semicolon, a word longer than six letters, ' +
        'a word without the letter e';

    regs.forEach((reg) => {
        console.log(reg, reg.test(s));
    });
    console.log();
    regs.forEach((reg) => {
        console.log(reg, reg.exec(s)[0]);
    });
}

入出力結果(Terminal, Node.js)

$ node sample1.js
/ca[rt]/ true
/pr?op/ true
/ferr(et|y|ari)/ true
/\b\w*ious\b/ true
/[\.,:;]\s/ true
/\w{6,}/ true
/[a-df-z]+/ true

/ca[rt]/ 'car'
/pr?op/ 'pop'
/ferr(et|y|ari)/ 'ferret'
/\b\w*ious\b/ 'ious'
/[\.,:;]\s/ ', '
/\w{6,}/ 'ferret'
/[a-df-z]+/ 'car'
$

0 コメント:

コメントを投稿