nDiki : 正規表現

正規表現 - regular expression

Perl

正規表現のコンパイルと使用時のデバッグメッセージを表示するには re プラグマを使う。

 use re 'debug';

関連情報

ライブラリ

その他

  • POSIX
  • 有限オートマトン
  • 正則言語

2009年2月14日 (土)

Windows 上の Unison では日本語ファイル名処理に問題

今まで Windows ではそれほど Unison を使わなかったのと、自分では日本語ファイル名をつけないということで気がつかなかったんだけれど、UnisonWindows 上では日本語ファイル名処理に問題があるらしい。

Unison 2.27.57 で日本語ファイル名のファイルを同期しようとすると `The name of this Unix file is not allowed in Windows' というエラーメッセージが表示されることがある。 チェックは正規表現 "\\.*|aux|con|lpt1|prn|(.*[\000-\031\\/<>:\"|].*)" でしているらしい。 マルチバイト文字だとこれで誤認識されることがあるようだ。

パッチあててもいいけれど、Windows 上で Ocaml ビルド環境入れてとかちょっと面倒。 他のファイル同期ツール探すか、Linux 上で同期するかどちらかだな。

[ 2月14日全て ]

2011年6月29日 (水)

mixi Engineers' Seminar #2 は Windows Phone 7 に注目が集まった

image:/nDiki/2011/06/29/engineer_seminar_logo.jpg

株式会社ミクシィ主催のエンジニア向けセミナーmixi Engineers' Seminar #2」に参加してきた。

スマートフォンがメインテーマで、発表は次の3つ。

赤松洋介氏(サイドフィード株式会社)開発者のためのiPhoneAndroidアプリ移植のポイント
高橋忍氏(日本マイクロソフト株式会社)Windows Phone 7 アプリケーション開発概要
藤崎友樹氏(株式会社ミクシィ)mixi x Androidの深イイ話

赤松氏の移植話では正規表現20パターンぐらいで Objective-C コードから Java コードに変換しちゃいましたとか。マジ?

藤崎氏の発表では Android 特有のアプリケーション開発事情や勘所が語られて、Android 開発者だといろいろ気づきとか得られるのではという内容であった。

そして注目だったのは Windows Phone 7。 プレゼンテーションが上手かったというのもあるんだけれど、発表の中で Visual Studio や Expression Blend でささっとデモアプリケーションを書いて、その場でエミュレータ(これが速い)でささっと動いちゃっているのを見ると、ああなんか簡単に面白いのが書けそうと思えてきちゃって、これはスゴいなと。

Windows Phone 7 端末は iPhone みたいに単一メーカーじゃないんだけれど、比較的統一が求められていて、開発者に優しいらしい。 ただ端末毎の特徴が無くなって、買う側もつまらないし売る側も差別化しにくいんじゃないかなとも思われるところ。 個人的には Android のカオスは好きなんだよね(ただし開発者じゃない立ち位置で)。

懇親会でお話させていただいた方、ありがとうございました。


ロゴはmixi Engineers' Blogより引用。

今日のさえずり: 乗り換え案内が紀香案内に聞こえてしまう

2011年06月29日

  • 06:30 RT @shakuji: 夏とか冬の四季って素敵だけど、単に地球という太陽系の回転部品の精度がちゃんと出てないだけともいえる。
  • 09:40 冷し中華とバナナパン 585円。昼は外出しない方向で。 (@ ローソン 渋谷三丁目東店) http://4sq.com/kedPzn
  • 09:43 やはり日本テレビの株主総会ここでか。
  • 10:09 RT @iwazer: そうだ、今日はmixi Engineers' Seminarの日だ。うっかり1番を取ってしまったのでちゃんと行かなければ(`・ω・´) http://bit.ly/jA8roI
  • 11:14 RT @haruhatahiko: キャンセルが11人出たから、mixi Engineers' Seminarに参加できる! よかった〜  #mixi_engineers
  • 12:05 ビビリなのでなんとなく svn switch はこわい。git checkout はこわくないのに。
  • 18:53 メーテル着て mixi Engineers' Seminar #2 顔出します。 #mixi_engineers
  • 18:54 RT @mixi_engineers: mixi Engineers’ Seminar #2 会場から: みなさまご来場いただきはじめています。ustもたったいまopenしました → http://www.ustream.tv/...
  • 19:10 最初は iPhoneAndroid のお話。 #mixi_engineers
  • 19:13 iPhone 開発していて Android 開発やりたくなーいって話はよく聞く話。 #mixi_engineers
  • 19:14 RT @mixi_engineers: mixi Engineers' Seminar #2 スタートしています / トップバッターは、サイドフィード株式会社 赤松洋介さまによる「開発者のためのiPhoneAndroidアプリ移植のポイント」です #mixi_engineers
  • 19:19 Objective-C から Java に変換するツールを自作されたのか。 #mixi_engineers
  • 19:20 「雰囲気読まずに続けます!」 #mixi_engineers
  • 19:36 20パターンの正規表現で言語間の変換かあ。すごい。 #mixi_engineers
  • 19:38Windows Phone 7。 #mixi_engineers
  • 19:38 RT @mixi_engineers: つづいて、日本マイクロソフト株式会社から、高橋忍さま「Windows Phone アプリケーション開発概要」です #mixi_engineers
  • 19:46 乗り換え案内が紀香案内に聞こえてしまう。どんなんだろ。 #mixi_engineers
  • 19:52 Visual Studio か。懐かしい響きだ。数カ月前まで使ってたのに。 #mixi_engineers
  • 20:22 RT @mixi_engineers: 続きまして、本日最後3つめのプログラム、ミクシィ藤﨑から「スマートフォン深イイ話」をお届けします. #mixi_engineers
  • 20:23 Jenkins さん。 #mixi_engineers
  • 20:41 エアコンつけました。 #mixi_engineers
  • 20:52 PC 版での更新が Android 側に push されるか? → 今はやっていない。 #mixi_engineers
  • 20:56 Windows Phone 7、ユーザーからの視点はさておき開発的には手軽さが気になるね。プレゼンテーションがわかりやすかったというのもある。 #mixi_engineers
  • 22:48 RT @usuihiro: blogged 「mixi Engineers' Seminar #2」参加メモ http://bit.ly/mqvKMT #mixi_engineers
  • 23:36 会社出。
  • 23:51 セミナーで離席中、GTD やってるといえば Naney 的な流れに IRC がなってた。ええ、 GTD ラブです。
  • 23:54 頭にハンドタオルのせて陽気にしている向かいの女子なに?
  • 23:55 RT @mixi_engineers: 来週も同じく株式会社ミクシィ7Fセミナールームにて「Shibuya Perl Mongersテクニカルトーク#16」が行われます。おたのしみに! http://shibuya.pm.org/.../201107.html #mixi_engineers
[ 6月29日全て ]

2011年7月6日 (水)

「せいき大好き!」 Shibuya.pm 「夏の正規表現祭り」

こんにちは。皆さん「せいき」が好きですね。

株式会社ミクシィセミナールームで開催された「Shibuya Perl Mongersテクニカルトーク#16」に参加してきた。 今回のテーマは正規表現Perl 使いにとっては、ドメインによらず大好きなテーマ。

計算機科学屋に面白かったのは、 @sinya8282 氏による形式言語的な香りのする発表「正規表現の限界」。 やっぱり正規表現の話では、DFA・NFA・状態遷移図あたりが出てこないとね。

Perl Mongers らしいノリとトークの楽しい集りだった。 結局おいしいところは gfx 氏の正規表現のイントネーションに全部もっていかれたね。

欲求不満な皆は「正則表現」って言うといいよ。

今日のさえずり: 要は ε 遷移があるかないかですよ

2011年07月06日

  • 08:44 Android の連絡先(Contacts)の auto aggregation は「名前」「電話番号」「メールアドレス」でマッチング。 http://bit.ly/n57wYi
  • 08:52 初 Huddle。
  • 09:00 と最初に観た映画は「ラスト・オブ・モヒカン」。モヒカンって……。
  • 11:59 RT @mixi_engineers: mixi Engineers' Blogエントリ追加しました → mixi Hackathon in Kyotoのご報告 http://alpha.mixi.co.jp/blog/?p=3427
  • 12:08 弁当と夕方用のパン 514円。 (@ ローソン渋谷東一丁目店) http://4sq.com/q9s3Mp
  • 15:10 「○○さんウンコなんですよ」って、すごい紹介。
  • 15:28 略称は魔開になりました。
  • 17:43 ピンクのメーテル T シャツ着て Shibuya Perl Mongersテクニカルトーク#16 顔出します。 #shibuyapm
  • 17:48 #shibuyapm Shibuya PerlMongersテクニカルトーク#16 リスト (ATND あたりから) http://bit.ly/r0r1ht
  • 17:52 @britty それ冬服ですから!
  • 18:14 RT @mixi_engineers: 本日は18:30から、Shibuya Perl Mongersテクニカルトーク#16を弊社7Fセミナールームで開催します → http://shibuya.pm.org/.../201107.html
  • 18:14 RT @mixi_engineers: テクニカルトークの様子はustでも中継いたしますので、ATNDに漏れたかた、お仕事中のかた、お茶の間からご覧になりたいみなさま、ぜひどうぞ! http://www.ustream.tv/...
  • 18:47 #shibuyapm スタート!
  • 18:52 ゴメンなさい、最近のアニメよくわかんないです。 #shibuyapm
  • 19:03 昔愚直に自分で trie モジュール作ってた。 #shibuyapm
  • 19:08 e の数で挙動が変わるのは知らなかった。何か m4 思い出す。 #shibuyapm
  • 19:08 RT @nipotan: 無駄に @Yappo のハードルがあげられててうける #shibuyapm
  • 19:10 RT @__gfx__: perl -ce 'http://mixi.jp' # syntax ok っていうネタがあったね。 #shibuyapm
  • 19:20 Emacs での正規表現はちょっと毛嫌い。 #shibuyapm
  • 19:56 正規表現じゃなくて正則表現といえば OK。 #shibuyapm
  • 20:03 困ったら状態遷移図書くよね。 #shibuyapm
  • 20:24 やはり DFA とか NFA とかでてくるとワクワクしますね。 #shibuyapm
  • 20:39 Plagger って最近下火なのかな。 #shibuyapm
  • 20:41 今日初の TL 流し。 #shibuyapm
  • 20:50 JSON で終わりそう。 #shibuyapm
  • 22:34 #shibuyapm 懇親会おひらき。Twitter でお見かけしていた方と初めて直接お話させていただけたりしてなかなか楽しかった!
  • 22:36 @makotokaga 今日はお会いできて楽しかったです。これからもよろしくお願いいたします。
  • 22:39 @shamoshamo 今日は VBA の話とか楽しかったです。これからもよろしくお願いいたします。
  • 22:45 @shamoshamo このアイコン知ってます知ってますってパターンはお互いよくあるので、最近ぶらさげるようにしてまーす。
  • 23:27 会社出た。そういえば食いっぱぐれてる。
  • 23:29 要は ε 遷移があるかないかですよ。
  • 23:31 渋谷駅雨降ってきた。
  • 24:06 RT @k12u: めずらしく書いた / Test::mysqld + perl -d を使うと SQLがそのまま叩けて便利 - k12uのアレ http://htn.to/L6sKf1
  • 24:31 RT @riywo: やーmixiさんのオフィスすごいよかった。広いセミナールームの隣に広い懇親会場とか素敵。
  • 24:37 ローソンのそうめん食べた。ほぐし水が井戸水だった。
  • 24:47 それぞれ mixi やってるので非公開コミュニティ作ってやりとりしようとしたけど、マイミクシィどうしじゃなかったので mixi 内で出会えず断念したというケースがあったという話をうかがった。まだまだサポートの余地がある。
[ 7月6日全て ]

2011年11月16日 (水)

今日のさえずり: アルクーノって。駅近物件もあるのかな。

2011年11月16日

rimage:/nDiki/Flickr/6348880387.jpg

  • 06:36 36.2℃ 予防接種いける。
  • 08:37 RT @Yam_eye: 空気が透明なのは、そうなるように人が進化したから(空気を透過しやすい波長の光に人の目が適応した)というのを実感させてくれる朝。
  • 08:56 そろそろいつでも使えるようにオイルヒーター出した。電気代の怖い季節きた。
  • 09:16 そして今日からダウンジャケット。
  • 10:23 前略プロフィールがもしクローズとなると、ユーザはどの SNS に流れるか。まあそれしかやっていないという人は少ないのだろうけど。
  • 10:24 どっかに買ってもらうのかな。
  • 10:26 SSID の末尾に _nomap とかダサい。
  • 12:21 RT @shmorimo: 今日もHMZ-T1で仕事してる。仮想Desktopを導入したので解像度の低さはあまり気にならなくなった。おでこが痛くならないように緩めに装着してるので、じょじょにズレてきてピントが甘くなるのだけが欠点。なんとかしたいなぁ。
  • 13:06 アルクーノって。駅近物件もあるのかな。 http://t.co/Eenb5dsT
  • 13:36 野菜炒め定食 550円。 (@ 日高屋 渋谷宮下公園前店) http://t.co/zX89oAXm
  • 13:59 エレベーターに乗ってた女の子の Android ロック解除ボタン一発で見切った。
  • 14:09 株式会社三昧生活の方ですか? RT @pinstripe_: @Naney クローズのSNSで今、来てるのはみんつですね。http://t.co/Kby8Skxk
  • 14:13 ヤク打ってくる。
  • 14:23 インフルエンザ予防接種済み。針細いのか痛さほとんどなし。
  • 14:33 ガチャピンの Tweet ことごとく 100RT over って。 @GachapinBlog
  • 18:40 Google ドキュメントのスプレッドシートでのフォーム機能、「その他を選択したら自由記述テキストボックスが有効になって入力必須に」とかできた気がしたんだけれど、久しぶりに弄ってみたらぜんぜんそんなことなかった。何かと勘違いしてたのかな。
  • 19:09 Alloy
  • 20:01 今日の LT はドラボーイが不憫でした。
  • 21:39 退勤。ビル出る時のドア、最近いつもピリッとする。
  • 21:44 Perl でバックトラックで終わらない正規表現の例作ろうとしたんだけれど、良きにはからってくれてしまってあっさり終わってしまう。
  • 23:07 クロネコIDよ、おまえも6文字以上なのか。
  • 23:53 PlaceEngine も _nomap 追従か。
  • 24:46 RT @yuzuemon: 今日の議事録「でも合コンって何話せばいいの?TPPの話とかダメでしょ」「今度アジェンダ送っておきます」
[ 11月16日全て ]

2013年8月7日 (水)

プログラミング言語仕様・振る舞いを確認するために小さいプログラムを書く

プログラミング言語仕様・振る舞いを確認するために小さいプログラムを書く。 「この式を評価すると値は何になるの?」とか「この2つの書き方どっちが速いの?」とか「この正規表現にどうパターンマッチングするの?」とかを確認したい時。

当たり前の進め方だと思っていたんだけれど、そうすることを勧めたらスルー気味だったので。

特にスクリプト言語なら 「a.ほげほげ 」(Perl なら a.pl)なファイル作って実行してみればいいじゃんと思うのだけれど手間に感じるのかな。本丸のプログラムのソースコードを書き換えて試す(Apache 再起動して Web ブラウザでアクセスしてデバッグプリント読むとか)よりよっぽどはやいよ。あと、単体テストファイルでやっちゃうのもアリ。

それに適当に記事としてまとめておけば、今度は自分が他人に説明する時にそれを示せば済むようになるしね。

今日のさえずり: 30行計画とかまた懐かしいワードが

2013年08月07日

[ 8月7日全て ]

2014年2月25日 (火)

今日のさえずり: いつでも亀クエ

2014年02月25日

rimage:/nDiki/Flickr/12772158903.jpg

[ 2月25日全て ]

2014年3月4日 (火)

今日のさえずり: MySQL では TEXT にデフォルト値を設定不可

2014年03月04日

  • 08:19 常用するアカウントはこの方式で。たまにしか使わないもの、アプリが覚えてくれるものは KeePass で生成管理。 / “サービスごとに異なる安全なパスワードの作り方(修正)” http://bit.ly/1dV1pMT
  • 08:19 誰か行くかな? / “GXEB #7「SPAM」 | GXEB” http://bit.ly/1dV1rEt
  • 08:19 (オリジナル) PuTTY では使えない ZMODEM が使えるので、昨日使ってみようかなと思ったところ。 / “「Tera Term」初版公開から20周年を迎えたことを記念したv4.81が公開 - 窓の杜” http://bit.ly/1i8d0zp
  • 11:10 C-t を prefix にして tmux 使うようになってから、 tmux 上じゃない Emacs を使っている時に C-t を誤打して transpose-chars でどんどんテキストが壊れていくので global-unset-key した。
  • 13:24 MySQL では TEXT にデフォルト値を設定不可。ストリクト SQL モードでないと NOT NULL なところにカラム値無しで INSERT すると暗黙のデフォルト値 が入るので、結果 NOT NULL DEFAULT が期待通り動いているようにみえる。
  • 13:25 ということか。知らなかった。
  • 13:44 RT @masayoshi_main: 就活生、Vimを使っていたので厳しく注意した。エディタEmacsを使うのが社会人の常識。Vimの使用はスーツを着ないで出社するようなもの。ゆとり世代の教育レベルを疑う。
  • 13:50正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう | 徳丸浩の日記http://bit.ly/1pYnsuu
  • 13:51 2月6日の夜から飲み始めた2カ月分のアレグラがあと5日分10錠しかない。
  • 14:09 野暮用につき退勤。 (@ 株式会社ミクシィ (mixi, Inc.)) http://4sq.com/1pYrrHq
  • 15:31 本日健歩大会の申し込み結果確認開始日。自分のは参加決定になっていた。イエーイ。
  • 17:51 “ビジネスタブレットのお供に:長文入力には欠かせない!——Bluetoothキーボードはこう選べ iOS編 (1/3) - 誠 Biz.ID” http://bit.ly/NPEmfK
  • 17:51 “ビジネスタブレットのお供に:長文入力には欠かせない!——Bluetoothキーボードはこう選べ Android編 (1/3) - ITmedia Mobile” http://bit.ly/1hEIXwr
  • 21:13東京モノレール、ユーチューブに公式チャンネル-導入予定車両のCG動画も - 東京ベイ経済新聞http://bit.ly/1omRpAF
  • 24:26 あの多面筆箱、ジョイント9って言うのか。
  • 24:34 「『ぱわわぷたいそう』から『ブンバ・ボーン!』へ、リニューアルします。」 / “おかあさんといっしょ | コレ見て!ムービー | NHKオンラインhttp://bit.ly/1hJ6sUA
  • 24:47 Snapchat は、保存できるアプリいっぱいあるんだ。
[ 3月4日全て ]

2014年4月2日 (水)

git log で特定の関数の変更履歴を見る

Git でファイル中の特定の範囲の変更履歴を見る -L オプションで、その範囲を正規表現で指定できる。例えば Perl モジュールだと

 git log -L '/sub func_name/',/^}/:lib/Foo/Bar.pm

で lib/Foo/Bar.pm の中の func_name サブルーチン(/関数/メソッド)の変更履歴(sub func_name のある行から、行頭が } の行までの変更履歴)を出力できる。

[ 4月2日全て ]

2014年7月29日 (火)

各行が JSON になっているログファイルを jq でチェック

各行が JSON になっているログファイルのチェックにコマンドライン JSON プロセッサの jq 使ってみた。

とりあえず | オペレータが肝なのと、フィルタリングには select 関数を使えば良いということを理解した。あと関数はパイプライン的に受け取るデータと、引き数とで受けとるデータとの2種類があるのでちょっと慣れが必要。普段からレシピを作っておく方が良さそげ。気がついたら https://www.naney.org/diki/dk/jq.html の方にメモっておくことにする。

ワンライナーで書けるのは便利だけれど、大量の JSON データでかつきちんと parse しないで正規表現で抜けるようなデータの場合は Perl でチャキチャキっとやった方が当然だけれど圧倒的に高速なのでうまく使い分けだね。

[ 7月29日全て ]

2014年11月24日 (月)

今日のさえずり: グレゴリーのデイパック。どんだけニッチなガチャや。

2014年11月24日

image:/nDiki/Flickr/15680342899.jpg

[ 11月24日全て ]

About

Naney Naneymx

Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。

※本サイトの内容は個人的見解であり所属組織とは関係ありません。

Process Time: 0.07217s / load averages: 0.48, 0.49, 0.40