タグ

正規表現とconsoleに関するslay-tのブックマーク (2)

  • JavaScriptのES2018で追加された正規表現の新機能の検証 - Qiita

    はじめに 正規表現を使ったソースの修正をしているときにexec()やmatch()の実行結果に見慣れないプロパティgroupsを見つけました。 いつの間にかJavaScriptにも名前付きグループが実装されていたようです。 そこで軽く調べてみましたら、それ以外にもES2018において色々と追加されていたようです。 何番煎じか分かりませんが、この記事では、簡単にES2018の正規表現に関する新機能の動作を検証してみたいと思います。 厳密な定義等は、ほかの記事等を見てください。 Named Capture Groups 従来は、 (pattern) のようにpatternにマッチしたキャプチャにアクセスするには、$1などキャプチャが現れた順番に対応する数値でしかアクセスできませんでした。 ES2018以降では、 (?<name>pattern) と書くとキャプチャに名前$<name>でアクセス

    JavaScriptのES2018で追加された正規表現の新機能の検証 - Qiita
  • 正規表現を複数回実行する際の注意点 - Qiita

    javascriptで正規表現を複数回実行する際の注意点 以下のコードは"hoge"という文字列が含まれているか正規表現で検索し、結果を表示するコードです。 var example = "hoge"; var regexp = /hoge/g; regexp.test(example); // true regexp.test(example); // false regexp.test(example); // true regexp.test(example); // false ... 一度目の実行ではtrueが返ってきますが、二度目の実行ではfalseが返ってきます。 以降は交互に結果が変わります。不思議ですね。 私はループ内で正規表現を実行する際に、この挙動につまづきました。 一体何が起きているのでしょうか? var examples = ["hoge", "hoge", "ho

    正規表現を複数回実行する際の注意点 - Qiita
  • 1