読者です 読者をやめる 読者になる 読者になる

素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: すかいぷ:javascripter_  か javascripter あっと tsukkun.net skypeのほうがいいです

正規表現にコメントをつける

javascript

Perl

RegExp.prototype.__defineGetter__(
  'x',
  function () {
    if ('__x' in this) return this.__x;
    var source = this.source;
    var flags = '';
    var re;
    source = source.replace(/([^\\]) +/g, '$1'); // trim spaces
    source = source.replace(/([^\\])#.*(?:\\\n|$)/g, '$1'); // trim comments
    source = source.replace(/\\(?:([# ])|\n)/g, '$1') // trim backslashes
    if (this.global) flags += 'g';
    if (this.ignoreCase) flags += 'i';
    if (this.multiline) flags += 'm';
    if (this.sticky) flags += 'y';
    re = new RegExp(source, flags);
    re.lastIndex = this.lastIndex;
    this.__x = re;
    return re;
  }
);

/(?:https?|#httpもしくはhttps\
    ftp)#もしくはftp\
  :\/{2}\
  \S+#スペース以外なので日本語にもマッチする/g.x