タグ

ブックマーク / rikuba.hatenablog.com (1)

  • 正規表現のキャプチャの応用 - rikubaのブログ

    キャプチャした部分文字列を、文字クラスや先読みに転用できることに気づいた。 順不同の組み合わせ 例えば、ショートカットキーを表す文字列(ここでは ctrl+shift+alt+x とする)にマッチする正規表現において、ctrl と shift と alt の順番に関わらずマッチさせたい場合。 全ての組み合わせを列挙する方法もあるけれど var regexp = /^(?:(?:ctrl\+(?:shift\+alt|alt\+shift))|(?:shift\+(?:ctrl\+alt|alt\+ctrl))|(?:alt\+(?:ctrl\+shift|shift\+ctrl)))\+x$/; regexp.test("alt+shift+ctrl+x"); // => true regexp.test("alt+ctrl+alt+x"); // => false キャプチャと否定先読み

    正規表現のキャプチャの応用 - rikubaのブログ
  • 1