タグ

regexに関するkirakkingのブックマーク (9)

  • 汎用的なコードの依存関係の抽出ツール rexdep を作りました! ― 正規表現で依存関係を大雑把に抽出しよう! - プログラムモグモグ

    あらすじ ソフトウェアの中の依存関係について 正規表現で抽出できることとその限界 コードの依存関係を抽出するツール rexdep を作りました ソフトウェアの構造を概観するには あなたは、大きなソフトウェアを目にした時、何をしますか? ファイルが何十、何百もある時、どこから読みますか? ソフトウェアが巨大になると、そのコードの構造を把握するのは難しくなります。 特にプロジェクトに入りたての人にとって巨大なコードベースを一目で理解することは難しく、細かなタスクをこなしていく中で徐々に「どこに何が書いてあるか」を理解していくしかありません。 ソフトウェアによってはモデルとコントローラ、データベースとビューと言った具合にコードが分かれており、これくらいの分類はディレクトリ名を見れば理解できるかもしれません。 しかしそのようなざっくりとしたコードの分類が分かったところで、ソフトウェアの構造を理解し

    汎用的なコードの依存関係の抽出ツール rexdep を作りました! ― 正規表現で依存関係を大雑把に抽出しよう! - プログラムモグモグ
    kirakking
    kirakking 2015/11/19
    OCamlだと <module>.<function> で非宣言的にモジュールを呼び出すからつらそう。
  • DOIにマッチする正規表現(記事紹介)

    CrossRefのブログ“CrossTech”で、DOI(デジタルオブジェクト識別子)にマッチする正規表現についての記事が掲載されています。 それによると、7,490万件のCrossRef DOIのうち、7,440万件は /^10.\d{4,9}/[-._;()/:A-Z0-9]+$/i という正規表現でマッチすることができますが、残り50万件に対応するためには /^10.1002/[^\s]+$/i /^10.\d{4}/\d+-\d+X?(\d+)\d+<[\d\w]+:[\d\w]*>\d+.\d+.\w+;\d$/i /^10.1021/\w\w\d++$/i /^10.1207/[\w\d]+\&\d+_\d+$/i というパターンも必要で、しかもこれでも7.2万件はマッチできずに残ってしまうということです。 DOIs and matching regular expressio

    DOIにマッチする正規表現(記事紹介)
  • bash-hackers.org

  • Vimでパターン検索するなら知っておいたほうがいいこと - derisの日記

    この記事はVim Advent Calendar 2012の166日目の記事です。 165日目はaueweさんによる.vimrcに書くべきでないVimの設定項目でした。 Vimに限りませんが、テキストエディタを使う際にテキスト検索はよく使うと思います。 ある程度慣れた人だと正規表現を用いたパターン検索を使うようになります。 もちろん、Vimにも正規表現を用いたパターン検索を行う機能は備わっています。 しかし、お世辞にもVimのデフォルト設定ではパターン検索は書きやすいとは言えません。 特に、他の正規表現方言に慣れている人は、Vimの正規表現の書き方の違いに戸惑うと思います。 記事では、Vimでパターン検索するなら知っておいたほうがいいこと+ Vimのパターン検索に使えるメタ文字をご紹介します。 パターンって何?という方は:help usr_27.txtを一読することをおすすめします。 一

    Vimでパターン検索するなら知っておいたほうがいいこと - derisの日記
    kirakking
    kirakking 2014/07/22
    \zs, \ze, %(...), %[...] 知らなかった。これは便利だ覚えよう。
  • 正規表現入門 星の高さを求めて

    第13回日情報オリンピック(JOI2013/2014)春季トレーニング合宿での講義資料です. http://www.ioi-jp.org/camp/2014/2014-sp_camp-rules.html 【概要】 正規表現とはパターンマッチングのための記法であり,文字列検索の便利な道具として広く親しまれています.この講義では,正規表現の基礎から始め,「星の高さ」という性質に注目して正規表現の裏側に潜む数理構造に迫っていきます.1960年代から未解決である「星の高さ問題」に浪漫を感じてもらえると幸いです.

    正規表現入門 星の高さを求めて
    kirakking
    kirakking 2014/03/24
    面白かった。大学並みの講義を手軽に見れるのはやっぱりいいなあ。やっぱり部分構成法は手計算も面倒だし実装も面倒だと思う。
  • Vimで最短一致 - こねこね便り

    今までドキュメントをあまり読んでいなかったために、Vimでの最短一致のやり方が今ひとつ分からなかったのだが、少し調べたらすぐに分かった。 最短一致 今まで説明した繰り返し指定は、可能な限りたくさんの文字列にマッチしようとします。できるだけ少ない回数だけマッチさせるには "\{-n,m}" を使います。動作は"\{n,m}" とほとんど同じですが、最短一致が使われます。 例 /ab\{-1,3} "abbbb" の中の "ab" だけがマッチします。一つの "b" にマッチするだけで条件を満たすので、二つ目以降の "b" には絶対にマッチしません。後ろに他のパターンが続いているなら最小回数以上の文字にもマッチします。 "n" と "m" を省略した場合も同じルールが適用されます。両方の数字を省略して"\{-}" とすることもできます。これは直前の文字が 0 回以上繰り返されている場合に最小の

    Vimで最短一致 - こねこね便り
  • 正規表現メモ

    \x{} \pは後続する名前が表すクラス(プロパティ、スクリプト、ブロック)に属する文字にマッチし、 \Pは後続する名前のクラスに属さない文字にマッチします。 クラスの名前が一文字のときはブレースを省略できます。 クラス名の前に^を置くことにより否定形の指定を行うことも可能です。 Perl 5.8 での変更点 Perl5.8以降(5.6でも使えたようですが)では \pや\Pで始まるプロパティ指定に標準Unicode属性を使うこともできます。 詳しくは perlunicode perlunicode - Perl における Unicode サポート を参照してください。 日語による説明が Unicodestandard にもあります。 Perl 5.8以降ではユーザーが任意のプロパティを作成することができます (IsまたはInを必ず前置)。 詳しくは perlunicode perluni

  • Vimで使える正規表現 - Archiva

    Make a note of it: Web tech, montaineering, and so on. Note: この記事は、3年以上前に書かれています。Webの進化は速い!情報の正確性は自己責任で判断してください。 Vimの正規表現をまとめてみました。Vimの正規表現は——基的にコマンドモードで使うためか——やたらエスケープが多かったりして、ちょいと独特です。また、拡張正規表現も使えないので、Perlのノリで書くとやきもきしますね。以下、検索に関わりそうなオプション設定。 :set wrapscan

  • 1