タグ

2023年1月22日のブックマーク (2件)

  • [正規表現] .*?は最短マッチではない - Qiita

    # Ruby 2.4.2 "<<<hoge>>>".match(/<.*?>/)[0] #=> "<<<hoge>" なぜこうなるのか .*?は、 最短マッチ 最左マッチ の2つの原則に従い、しかも最左マッチの原則の方が優先順位としては高いからである。 より嚙み砕いて言うと <.*?>は先頭の<がマッチした後に、そこからマッチする部分をできるだけ最小化しようと試みる。 <<<hoge>>>に対して<.*?>をパターンマッチさせる際に行われる実際の処理の流れは、次のようなイメージになるだろう。 < # <までマッチ << # <>のマッチに失敗、.の数を増やしてリトライ << # <.までマッチ <<< # <.>のマッチに失敗、.の数を増やしてリトライ <<< # <..までマッチ <<<h # <..>のマッチに失敗、.の数を増やしてリトライ <<<h # <...までマッチ <<<ho

    [正規表現] .*?は最短マッチではない - Qiita
    tgk
    tgk 2023/01/22
    ?は結果の右側をカットするが左は縮めてくれない。最左マッチと思えばよい
  • mklink - Windowsコマンド虎の巻

    解説 mklinkコマンドは、シンボリックリンク(ショートカット)を作成します。 構文 (構文) MKLINK [オプション] <リンク名> <ターゲット> 【オプション】 オプション説明

    tgk
    tgk 2023/01/22
    Windowsでシンボリックリンクを作る方法。ln -sとは引数が逆順になっている