「gr」を含む日記 RSS

はてなキーワード: grとは

2012-03-06

http://anond.hatelabo.jp/20120305112303

ワタミが買収した郁文館夢学園のエントランス写真がなんだかすごいことになってますが、コラージュじゃないですよ。ここが写真元→e037.dgblog.dreamgate.gr.jp/e67276.html この人、ワタミみてえなのに心酔してアップしたんですわ。この手の『単細胞金持ちになりたいバカ』ってのは結構いるのです

http://b.hatena.ne.jp/entry/twitter.com/kanyu_drop/status/176223802991198208

 

ワタミ会長の肖像画を今も掲示している教育者がまだいるとしたら、それは人間としての堕落、それ以外のなにものでもないと思う。

で、これが「単細胞金持ちになりたいバカ」と言われた株式会社イノベーション代表取締役富田直人@inonaoの方の言い分。

 

http://e037.dgblog.dreamgate.gr.jp/e67276.html

2010年01月15日

郁文館学園 石田常務理事今年第1回目のMRK(元リクルート経営者会)

ワタミ経営する郁文館学園に訪問

常任理事石田さんの講演。

お会いするのは2回目

郁文館の改革の話、教育ポリシー世界観など

またまた、たくさんの刺激をいただいた。

今日気づき

・全ての判断は理念であること

・生徒に夢を持たせることはしない。自分で夢を持ってもらえる環境提供すること

教育ポイント先生の知識ではない。相手に希望を持たせて火をつける力

世界中教育機関を見たベスト学校とは、寄宿校、20人程度の少人数制であること

クレーマー対応する側にも大きな責任がある

などなど

グローバル化そして人間力も向上できる素晴らしい教育

入れるものなら入学したいほど魅力的な学校だ。

マネジメント組織論グローバル化など会社でも活かせる話が満載!

エントランスにある理事長です。

http://dgblog.dreamgate.gr.jp/usr/e037/%E9%83%81%E6%96%87%E9%A4%A8s.JPG

まさに渡邊イズム

石田さん本当にありがとうございました

 

2010年01月15日というと、ワタミで働いていた女の子自殺して、遺族が労働災害認定を求めて1年以上経っている頃だ。

ワタミ殺人的な労働環境になっていて、実際に過労自殺労働紛争事件が起きていた事実を知らないで、このエントリーは書かれたのかもしれない。

この富田直人という男は、ワタミがこれだけ批判されている今、どう思っているのだろう?

ブログを見ると、ワタミでまだ飲み会を続けているようだ…。

 

ベンチャー社長ブログ:直人塾最終回

http://e037.dgblog.dreamgate.gr.jp/e93956.html

2012年02月09日

今晩は広尾ワタミん家で打上げ!

http://dgblog.dreamgate.gr.jp/usr/e037/2012-02-08s21.25.23.jpg

素敵な時間だった。

 

2011-09-17

Google Reader+Firefoxはてなブックマークを快適に使う方法

やりたいこと

以下を全てGoogle Reader上で行いたい。

  1. フィードを登録する。
  2. リスト表示で記事タイトルを眺める。
  3. 気に入った記事をクリックして全文読む。
  4. 気に入った記事へはてなスターを付ける。
  5. はてブコメントを見る。
  6. ブコメはてなスターを付ける。
  7. はてブコメントを登録する。

まず、やったこと

以下をインストール
Google Reader Full Feed Modの設定変更

タイトルクリックしたら自動的に全文を取得して表示して欲しい。以下の設定を行うと出来る。

  1. Google Reader右上のギアマーククリック→「Full Feed Mod設定」をクリック→「Auto Load」をクリック
  2. 自動的に全文表示するアイテム」を「すべて」に変更
  3. 「OK」をクリック
Google Reader plus Hatenaの改造

ブコメが表示されないので、これを直したい。

id:northappleさんが「googleリーダー内ではてなブックマークのコメントを参照したいで.. - 人力検索はてな」という質問の回答及びコメント欄でこれを直す方法を教えてくれている。よって、その通りに変更すると直る。2ヶ所置換が必要。

不満な点

  1. Google Readerからワンクリックで「はてなブックマークFirefox拡張」の「ブックマークを追加」ウィンドウを開いて欲しい。
  2. ブコメには作成年月日だけではなく、時分も表示して欲しい。
  3. 記事を開いたら自動ブコメをロードして欲しい。
  4. Google Reader上で記事へはてなスターを付けたい。
  5. Google Reader上でブコメはてなスターを付けたい。
  6. タイトルが長いとブクマ数が隠れてしまうので、それを見えるようにしたい。

改造方法

以下、Google Reader plus Hatenaの変更点です。変更するには、Firefoxの右上にある猿(Greasemonkey)のアイコンの右にある下矢印をクリック→「ユーザスクリプト管理」をクリック→「Google Reader plus Hatena」の「設定」をクリック→「このユーザスクリプト編集します」をクリックするとエディタで「Google Reader plus Hatena」のスクリプトが表示されるのでそれを編集する。

1. Google Readerからワンクリックで「はてなブックマークFirefox拡張」の「ブックマークを追加」ウィンドウを開く。

62行目

mySpan.innerHTML = '<a href="http://b.hatena.ne.jp/entry/'+url+'" onClick="window.open(this.href,\'\',\'status=yes,scrollbars=yes,directories=yes,menubar=yes,resizable=yes,toolbar=yes\'); return false;" ><img src="'+ BookmarkImageURL +'" /></a>';

を、

mySpan.innerHTML = '<a href="http://b.hatena.ne.jp/my/add.confirm?url='+url+'"><img src="'+ BookmarkImageURL +'" /></a>';

に変更。これで「○○ users」をクリックすると、目的ウィンドウが開くようになる。

2. ブコメには作成年月日だけではなく、時分も表示する。

147行目

var t = bookmark.timestamp.split(" ")[0].split("/");

を、

var t = bookmark.timestamp;

に変更。

156行目、

html += "<li><span class=\"__hatena_bookmark_anywhere_timestamp\">"+escapeHTML(t[0])+"年"+escapeHTML(t[1])+"月"+escapeHTML(t[2])+"日</span><img src=\"http://www.hatena.ne.jp/users/"+escapeHTML(bookmark.user.substring(0,2))+"/"+bookmark.user+"/profile_s.gif\" width=\"16\" height=\"16\"><a href=\"http://b.hatena.ne.jp/"+escapeHTML(bookmark.user)+"/"+escapeHTML(t.join(""))+"\" class=\"hatena_bookmark_anywhere_user\">"+escapeHTML(bookmark.user)+"</a><span class=\"hatena_bookmark_anywhere_tags\">"+tags.join(", ")+"</span>"+escapeHTML(bookmark.comment)+"</li>";

を、

html += "<li><span class=\"__hatena_bookmark_anywhere_timestamp\">"+escapeHTML(t.slice(2,-3))+"</span><img src=\"http://www.hatena.ne.jp/users/"+escapeHTML(bookmark.user.substring(0,2))+"/"+bookmark.user+"/profile_s.gif\" width=\"16\" height=\"16\"><a href=\"http://b.hatena.ne.jp/"+escapeHTML(bookmark.user)+"/"+escapeHTML(t.split(" ")[0].split("/").join(""))+"#bookmark-"+escapeHTML(json.eid)+"\" class=\"hatena_bookmark_anywhere_user\">"+escapeHTML(bookmark.user)+"</a><span class=\"hatena_bookmark_anywhere_tags\">"+tags.join(", ")+"</span>"+escapeHTML(bookmark.comment)+"</li>";

に変更。

# ブコメはてなスターを取得しやすいように、ブコメリンクブコメパーマリンクへ変更してあります

3. 記事を開いたら自動ブコメをロードする。

300行目(インデントしか無い空行)


を、


var evt = document.createEvent( "MouseEvents" );
evt.initEvent( "click", false, true );
createSpan.dispatchEvent( evt );

に変更。(「 JavaScriptの動かないコード (中級編) clickイベントを強制的に発生させたい (fireEvent/createEventの使い方) - 主に言語とシステム開発に関して」を参考にさせて頂きました。)

4-5.

出来た。けど、めちゃくちゃソースが汚いので、差分として公開するのが難しい。ごめんなさい。

# どーやるのがベストプラクティスなのか分からない・・・

6.

どなたかご教示してくださると嬉しいです _ _

書いた人

id:al001

人力検索はてなで質問しました:人力検索はてな

2011-08-04

3股してた女性結婚することになった

従業員20名余の我が社で、彼男と後輩のカノ美が結婚秒読みらしいという事を聞いた。

彼男は私の同期、カノ美は後輩で、しばらく新卒採用してなかった我が社のひさしぶりの新卒

カノ美が右も左もわからない頃から彼男が色々教えていて、それがキッカケで親しくなった模様。

しかしこのカノ美、入社3年の間、色々水面下でやらかしてくれた。

私が知っているだけで

  • 入社して半年程で、入社前より同棲していた彼Aと別れ、彼男と同路線沿いに引越し毎日一緒に通勤
  • 既婚者Bと関係をもつ。その後継続的に関係を続ける
  • 彼男と付き合う
  • 既婚者Bが密かに撮影していたハメハメ画像が酔った弾みで社員Cに流出、その事を持ちだされて社員Cと関係。ズルズルと続く
  • B、Cと断続的に関係を持ちつつ彼男とも付き合い、結婚

その他にも

などなど。出るわ出るわー。

なんで私がこんなことを知っているかというと、既婚者B→社員C→私と情報が筒抜けだから

年寄りで喪でコミュ力ゼロ(口外しないと思われているのだろうか)の私には話やすいらしい。

おっぱいキャバ、G○EEの件は、検索したら出てきた本人のmixiに乗ってた。そんなん消しとけ。

分母が大きければいいってもんじゃないけど、社員100人以上の大企業とかならともかく、

社員20しか居ない我が社で、こんだけホイホイ関係しちゃうなんて、ちょっと頭とお股が緩すぎやしないだろうか

今はこいつらの披露宴にご祝儀払いたくないなという気持ちでいっぱい。

2010-08-27

はてな匿名ダイアリーの標準スタイルシートデコバッドノウハウ

pタグやdivタグclass要素を指定できるのでHTMLでそのまま記述する。

いつくかはてなダイアリーでの使用可能なはてな記法は無効になっており、例えばキーワードリンク無効記法が使えないためフォントカラーキーワードリンクの黒に潰されちゃうかんじ。

以下サンプル。アルファベットクラス名(自動アンカーついていててコピペしにくい。ソースみたほうがいいかも)。

アイコン


フォント


ブロック


おまけ

a.keywordcloud10 を空白で刻むことによってうざいかんじになる。荒し用。


よ か っ た で す ね 。

こ の エ ン ト リ を プ

リ ン ト ア ウ ト し て

病 院 へ 行 っ て く だ

さ い。

2008-12-07

GRデジタル買ってきました

増田の皆様、色々とご指導ありがとうございました。

嫁もなんだかんだで大喜びしてくれたので良かったと思います。

晩飯作るの忘れて楽しそうにいじっていますわ。

これを機に、少しずつ俺も勉強していくことにします。

本当にありがとう

http://anond.hatelabo.jp/20081207142202

GRD単焦点で、R10は光学ズームがついてる。

GRDの方がマニア向けに近く、R10は一般向けに近い。

設計のコンセプトがそれぞれ違うんじゃないかな〓。

うーん、よくわからんけど、一般向けのほうがいいのかな。

デフォルトの設定でダカフェっぽい写真が撮れるのはどっち?

まあ無理だろうけど感覚的に。

どちらにしろ嫁はGRデジタルに興味深深。

http://anond.hatelabo.jp/20081207141122

カフェ写真を撮りたい主婦文化系女子が求めるものって全然違うと思うんだけどね。

カフェ系に惚れた人は本当に被写界深度超浅い写真を求めてる。

GRDを気に入る文化系女子とは対極。

被写界深度超浅い写真を撮ることはGRデジタルでは無理なのかな?

カフェはなかったことにしよう。

3日経てばきっと忘れてる。

Re: http://anond.hatelabo.jp/20081207135904

いっそのこと増田が嫁より詳しくなって、積極的に買おう買おう!電器屋行こう!といったら奥さんやっぱどうでもいいとか言いそうな気がするんだけど気のせい?

GRデジタルのせいで二人揃ってルンルンで電器屋に行く可能性が出てきました。

http://anond.hatelabo.jp/20081207140117

結論から言うと、一番使ってるのがGRデジタル。一眼はコンパクトな入門機でも重いしかさばるので、出かけるときに持っていこうって気にならないのが難点なのです。

GR普通コンデジよりマニュアルで操作できる部分が大きいし、相当雰囲気ある写真が取れますよ。まずはGRで撮影に慣れ、露出シャッタースピードなど基本的な知識を身につけてその後、いいカメラを買うのがいいのではないかしら。プロもセカンドカメラとして使っているものなので、安物買いの銭失いにはならないと思います。

情報サンクス

ちょうどRicohのR10というのがいいなと思って見ていたところです。

GRデジタルはR10の上位機種なんですね。

最近Ricohデザインがいいな。

なんか嫁も喰いついたのでこれでいいかも。

2008-09-23

正規表現の機能の覚書き

はじめに

「はじめての正規表現」ホッテントリ入りしていますが、

導入としては、何に使うのかがわかりやすくて良いのではないかと思います。

あれを見て、基本機能をまとめてみたくなったので、正規表現の基本的な機能について書いてみます。

正規表現が初めてという人は「はじめての正規表現」を先に見たほうがいいと思います。)

例では「検索」か「置換」をするものとして話を進めていきます。

「はじめての正規表現」が実例を中心にしたのに対して、こちらは機能を中心に書きます)

正規表現は、プログラミング言語やその他のツールなど、それぞれで微妙な違い(方言)があるので、その点には注意が必要です。

(表記法が違ったり、ここに紹介する機能がサポートされていなかったり、逆に紹介していない機能をサポートしていたりする場合があります)

メタ文字とリテラル文字

正規表現には、メタ文字とリテラル文字というものがあります。

メタ文字とは機能を持つ文字で、『.』『*』『*?』といったものが当てはまります。

リテラル文字は「文字それ自体」と解釈される文字で、『 』『a』『<』といったものです。

アルファベットや数字はリテラル文字なので、

「検索する文字列:『egg』 置換する文字列:『chicken』」

などとすれば、正規表現を使わない置換と同じ効果になります。

なお、検索して検索文字列が当てはまることを「マッチする」と言います。

メタ文字に使われている文字を検索したい場合は、直前に『\』を置きます。(これを「エスケープ」と呼びます。)

.*?^$()[]{}』などがメタ文字です。

$100』を検索したければ、『\$100』とすればいいということになります。

(『\』は環境によって、半角の『¥』『\』のどちらかになります。)

言語、ツール、モードなどによっては『@/#』もエスケープが必要です。

また、『\』自体は常にエスケープが必要です。

繰り返しについて

メタ文字意味
?直前の文字を0回または1回繰り返す
*直前の文字を0回以上繰り返す
+直前の文字を1回以上繰り返す
{n}直前の文字をn回繰り返す
{n,}直前の文字をn回以上繰り返す
{n,m}直前の文字をn〜m回繰り返す

これらのメタ文字は「量指定子」といって、直前の文字の繰り返しを意味します。

*』は「任意の文字を0回以上繰り返す」とありますが、

「0回以上繰り返す」とは、「全く何もなくてもいいし、いくらあってもいい」という意味です。

よって、『?』は「あってもなくてもいい」、『+』は「1つ以上あればいい」と解釈できます。

colou?r』は『u』があってもなくてもいいので「colorかcolour」ということになります。

{n}』は、たとえば『-{15}』なら、「ハイフン(-)が15個続くもの」となります。

-{10,}』なら「ハイフン(-)が少なくともは10個続くもの(多いのはいくらでも)」、

-{10,15}』なら「ハイフン(-)が10〜15個続くもの」となります。

また、複数の文字を繰り返したい場合は括弧で囲みます。

(Gang){2}Dance』は『GangGangDance』と同じ意味になります。

欲張りと非欲張り

メタ文字意味
?直前の文字を0回または1回繰り返す(欲張り)
*直前の文字を0回以上繰り返す(欲張り)
+直前の文字を1回以上繰り返す(欲張り)
??直前の文字を0回または1回繰り返す(非欲張り)
*?直前の文字を0回以上繰り返す(非欲張り)
+?直前の文字を1回以上繰り返す(非欲張り)

「欲張り」とは、「なるべく多くの文字に適用しようとする」、

「非欲張り」とは、「なるべく少ない文字に適用しようとする」という意味です。

対象文字列が『aaa bbb ccc』だとします。

すると、検索する文字列が『a+』なら『aaa bbb ccc』、

検索する文字列が『a+?』なら『aaa bbb ccc』が置換対象となります。

(「すべてを検索/置換」する場合は当てはまりません)

「『a』を1回以上繰り返す」ということは、『a』でも『aa』でも『aaa』でもマッチすることになりますが、

「欲張り」かそうでないかで実際のマッチは変わってくるわけです。

文字クラス

文字クラス意味
[abc]a、b、cのいずれか
[a-z]a〜zのいずれか
[^a]a以外の文字(改行文字を含めaを除いた全て)
[^a-z]a〜z以外の文字(改行文字を含めa〜zを除いた全て)

文字クラスは『a』や『<』などの代わりに文字の種類を指定するものです。

a〜eのどれかの1文字という指定をしたい場合に『[abcde]』や『[a-e]』といった指定ができます。

また、文字クラス内の最初に『^』をつけて『[^abc]』などとすれば、

「a、b、c以外の何の文字でもいい」とすることができます。

間違いやすいのが「そこにaもbもcも存在しなければいい」という意味ではないということです。

文字クラスは「なんらかの1文字の身代わり」なので、それは何か1文字を表しています。

-』は範囲を表すのに使用します。そのため、『[;-%]』で「; - %のどれか」を表現することはできません。

-』を含める場合は必ず最初に持ってきます。すると『[-;%]』という風になります。

「; - %以外の文字」としたいならば『[^-;%]』とします。

[』や『]』、『\』を文字クラスに含めたい場合は直前に『\』を置いてエスケープします。

「『[』または『]』」であれば『[\[\]]』となります。

^』やその他の記号は先頭に置かなければいいので、エスケープの必要はありません。

.』は「改行以外のすべての文字」を表しています。

改行は『\n』で表されるため、『.』は『[^\n]』と等価です。

(ただし、正規表現モードによっては「改行も含めすべての文字」を表す場合もあります)

文字クラスにはいくつかの略記法があります。

文字クラス意味同等の表記
\w記号や空白ではない文字すべて[a-zA-Z0-9_]
\W記号や空白ではない文字以外[^a-zA-Z0-9_]
\d数字[0-9]
\D数字以外[^0-9]
\sタブや改行など、空白類とされる文字[ \t\n\r\f\v]
\Sタブや改行など、空白類とされる文字以外[^ \t\n\r\f\v]

(*間違って『\s』の同等の表記にも『^』がついていたのを修正しました)

(『\t』はタブ、『\v』は垂直タブ、『\r』はキャリッジリターン(CR、改行の一種)、『\f』は改ページ)

これらは『[a-fA-F\d]』のようにすることで、文字クラスブラケット角括弧)内に含めることができます。

「同等の表記」と書きましたが、文字をユニコードして扱うツールの場合は、上記が同等の表記にはならず、

たとえば『\d』であれば漢数字が含まれてしまったりするので注意が必要です。

選択

(A|B)』は「AまたはB」という意味です。(これを「選択」と呼びます)

(A|B|C)』なら「A、B、Cのどれか」という意味になります。

(gray|grey)』は『gr[ae]y』とほぼ等価となります。

[ae]』は「1文字のaまたはb」という意味になるので結果的に、ほぼ同じ効果が得られるわけです。

(ただし、これはgrayとgreyの違いが1文字だけだったためで、そうでない場合はこうはなりません)

気をつけなければならないのは、その順番です。

(Java|JavaScript)』で検索すると、対象文字列内に存在する『Java』と『JavaScript』すべてマッチするように思えますが、

JavaScript』は選択肢の前(左)のほうにある『Java』が当てはまってしまうため、

Script』部分にはマッチせず、『JavaScript』というマッチになってしまいます。

選択では左側が優先されるので、『(JavaScript|Java)』とすることでこの問題は防げます。

言語、ツールによっては、この問題が起こらない=順番関係なく長いほうを適用しようとするものもあります)

アンカー

メタ文字意味
^行頭
$行末
\b単語境界
\B単語境界以外

リテラル文字や文字クラスが「文字自体」にマッチするのと違い、アンカーは「位置」にマッチします。

検索する文字列が『^』、置換する文字列が『>』なら、「行頭に『>』を挿入する」という意味になります。

単語境界とは、「単語を構成する文字=『\w』に相当する文字」と「単語を構成しない文字=『\W』に相当する文字」の間の位置のことです。

regular expression.』なら『^regular^ ^expression^.』の4ヶ所に当てはまります。

\b.*?\b』とすれば単語すべてにマッチさせることができます。

しかし、「単語構成文字」が基準なので、『JavaScript』は1単語でも、『L?K?O』は1単語とは見なされません。

アンカーは位置にマッチするので、文字クラス内に含めることはできません。

^』や『$』を文字クラスに含めても、その文字自体という意味になります。

つまり、『[^$]』なら「行頭または行末」ではなくて、「『$』文字以外」ということになります。

また、『\b』は文字クラス内のみ、バックスペース文字を表す場合が多いようです。

大文字と小文字

正規表現には、大抵「大文字と小文字を無視する」というオプションがあります。

これが入っていないと「『to:』で検索しても『To:』にマッチしない」といったことが起こります。

言語、ツールによっては、正規表現の一部にのみ大文字と小文字を無視する機能があるものもあります。

例えばRubyでは『(?i:foo)』という形式を使用できます。

(?i:Ruby) Python』という表現なら、『ruby Python』や『RuBy Python』にはマッチしますが、

RUBY PYTHON』にはマッチしない、ということになります。


キャプチャと後方参照

括弧内に入れた文字列は、ある場所に記憶されます。(「キャプチャ」と呼びます)

これは『\n』という表記を使って呼び出すことができます。(nは数字)

同じ単語が2連続で出てくるもの(『merry merry』みたいなもの)を探すという場合、

\b(\w+)\b \1』とすることができます。(ここで使った『\1』を「後方参照」と呼びます)

こうすると、『\1』の部分は、『(\w+)』を使ってマッチしたものと同じものがあるものとして解釈されることになります。

括弧を何個も使う場合は、左の括弧から順に『\1』、『\2』、『\3』となります。

また、後方参照は置換文字列にも使うことができます。

つまり置換文字列内に『\1』と書けば1番目の括弧、

\2』と書けば2番目の括弧でキャプチャされたものがそこに入ることになります。

この場合、言語、ツールによっては『\n』ではなく『$n』を使う場合もあるようです。

括弧は『(foo|bar)』という選択や、『(humbert){2}』というグループ化など、キャプチャ以外にも使われます。

そのため、キャプチャに使われた数字をわかりやすくするために、キャプチャしない括弧もあります。

それには『(?:foo)』という表記を使います。

前の例であれば『(?:foo|bar)』と『(?:humbert){2}』になります。

先読みと否定先読み

「その位置の続くものを確認する」というのが「先読み」です。

対象文字列を『JavaScript Java Applet』として考えてみましょう。

Java(?=Script)』は「『Script』が後に続く『Java』」にマッチします。

(?=Script)』の部分が、「『Script』が後に続くかどうか」をチェックしているので、

後ろに『Script』が続かない単なる『Java』にはマッチしません。

(?=Script)』の部分は「後に『Script』が続く位置」にマッチしていることになります。

この例のマッチは『JavaScript Java Applet』となります。

逆に、『Java(?!Script)』とすれば、「『Script』が後に続かないかどうか」をチェックするので、

後ろに『Script』が続かない単なる『Java』にマッチさせることができます。

こちらは「否定先読み」と呼びます。

この例のマッチは『JavaScript Java Applet』となります。

言語、ツールによっては、「その位置の前にあるものを確認する」という「戻り読み」「否定戻り読み」がサポートされているものもあります。

(これは『(?<=foo)』『(?<!=bar)』という形で使います)

先読みや否定先読み、戻り読みなどをまとめて「前後読み」と呼びますが、

前後読みは位置にマッチするため、戻り読みは先読みとは通常書くべき位置が逆になります。

(?<Mozilla )Firefox』とすれば、『Mozilla 』に続く『Firefox』のみにマッチします。

強欲な量指定子とアトミックなグループ

メタ文字意味
?+直前の文字を0回または1回繰り返す(強欲)
*+直前の文字を0回以上繰り返す(強欲)
++直前の文字を1回以上繰り返す(強欲)

上のほうで?、*、+は「欲張り」だと書きましたが、「欲張り」な量指定子も“ゆずる”ことがあります。

対象文字列が『"something"』だとして、検索文字列".*"』はこれにマッチします。

しかし、強欲な量指定子*+』に置き換えて『".*+"』とするとマッチしません。

これはなぜかというと、「欲張り」な量指定子を使った『.*』の部分は、

最後の『"がなければ『something"』にマッチすることになりますが、

正規表現の最後に『"』があるために、対象文字列の最後の『"』をゆずっているのです。

しかし、強欲な量指定子*+』はゆずることがないため、

.*+』の部分が『something"』にマッチしてしまい、

正規表現の最後の『"』にはマッチできなくなるのです。

強欲な量指定子サポートしていない言語、ツールでも、「アトミックなグループ」というものが使える場合があります。

アトミックなグループでは『(?>foo)』という表記を使います。

\w?+』なら『(?>w+)』、『\w*+』なら『(?>w*)』、『\w++』なら『(?>w+)』で代替できます。

意図しないマッチに気をつける

*』の「直前の文字の0回以上の繰り返し」はよく気をつけないと、間違ったものにまでマッチしてしまいます。

リテラル文字と文字クラスは「文字自体」にマッチすると書きましたが、

-*』というような表現は、『-』や『--------』だけでなく、

『』つまり、空文字列にもマッチしてしまうのです。

なぜそうなるかというと、「0回以上」ということは「なくてもいい」ということだからです。

文字列へのマッチは、実質上「位置」へのマッチと似たようなものになります。

検索文字列を『-*』として一括置換すると、

-』や『--------』が置換されるだけでなく、

-』が存在しないすべての場所に置換文字列が挿入されてしまうことになります。

正しい正規表現を書くためには、「どう書けばマッチするか」だけでなく、

「どういう場合にマッチしなければいいか」についても考えてみる必要があります。

ワイルドカードの『*』≒正規表現の『.*

「はじめての正規表現」で、

ワイルドカードの『*』=正規表現の『.*

とありますが、これは厳密には微妙に違います。

ファイルグロブでは《*》は「任意の文字を1回以上繰り返す」

つまり、1文字以上あればなんでもいいということになります。

この意味だと、《*.*》は "foo." や ".bar" は当てはまりません。

しかし、「0回以上」であればマッチすることになります。

正規表現では「1回以上繰り返す」は、《+》なので、

「任意の文字を1回以上繰り返す」は『.+』となります。

よって、《*.*》とほぼ等価な表現は『.+\..+』となります。

これは私の勘違いでした。miauさんご指摘ありがとうございます。

「*.*」は foo. にマッチするはずだし、.barマッチしないのは、「*」がドットファイルマッチしないっていう特殊ルールがあるから・・・ですよね?

ワイルドカード(ファイルグロブ)の「*」って - miau's blog


ファイルグロブの《*》は、「0回以上繰り返す(ただし例外として、一番最初のドットは表せない)」ということのようです。

*.*》とほぼ等価な表現は、正しくは『(?!\.).*\..*』となります。


最後に

正規表現を使うにあたっては、検索対象がどのようなものか知っておくことが重要です。

\d{4}[-/]\d{1,2}[-/]\d{1,2}』で日付と思われる文字列を検索することができますが、

これは『00-0000-00-00』というものにもマッチしてしまいます。(『00-0000-00-00』)

かしこれを厳密にしようと思えばかなり複雑な正規表現になってしまうので、

どの程度の厳密さが必要かを把握しておくことが肝要と言えるでしょう。

冒頭にも書きましたが、正規表現は、言語やツールによって微妙な違いがあるので、

その辺りについては各言語、ツールの説明を参照してください。

本格的に学びたい場合はオライリー「詳説 正規表現」おすすめです。

(ただ、この本はプログラミングのことを多少は知らないと難しいかもしれません)

また、PHP正規表現チェッカーですぐに試せるようです。

関連リンク



反応への応答

b:id:K-Onoさんの

なぜ増田? これでidデビューしてもいいんじゃないのか?

について。

実ははてなダイアリーもある(d:id:sleepwlk)んですが、長いこと書いてなかったので、

匿名ダイアリーのほうが多くの人に見てもらえるのではないかと思ってこちらに書いてみました。

*2008-09-23 誤記の修正と、一部加筆しました。

*2008-09-24 ワイルドカード記述を修正しました。

*2008-09-24 文字クラス記述の間違いを修正しました。b:id:FunnyBunnyDizzyさんご指摘ありがとうございます。

*2008-09-24 「意図しないマッチに気をつける」を追加しました。

2008-08-11

AOpen XC Cube LE200のセットアップを済ませたのでメモ

マザーボードIntel D945GCLFでいいのかな?。たぶんこれ。

とりあえずWindows Server 2003 R2 Std. SP1(MSDNISOイメージ)をインストールしてみるとネットワークアダプタが認識されない。付属CDドライバインストーラを実行したら認識された。

次にDebian Etch(r4)をインストール。こっちもNIC認識されない。RealtekサイトUnix (Linux)用のドライバがあるからたぶん使えるはず。

Windows Server 2003用のインストールディスクを作ってみるため、次のドライバをnLiteで統合したイメージでさっくり完了。

2008-08-06

たのしい、グーグルマップストリートビューめぐり


無さそうなので作ってみた。

やっつけなのは許してくれ

ホテル




・有名になった、足がない人


うんこ、踏んだ!


・お幸せに!


あらあら



・事件・事故

(↑削除された!)



・もみもみ

↑もみもみの続き。



パンツ

http://maps.google.co.jp/?ie=UTF8&layer=c&cbll=35.622924,139.603486&panoid=flgkxQRrqicNkymST9uTGQ&cbp=1,266.0764456064946,,1,-40.07972566971828&t=h&ll=35.634279,139.632196&spn=0.046111,0.109005&z=14

・カップル

(↑は削除された!)

(同じ人なのに、↑は残っている)

・あの場所



・こども


・おとな



・おんなのこ

(↑削除!!)


・こんな車


・安い!


燃える男の。。。。


UFO



・謎の。。。。


・こっち、見んな!

(↑モザイクが入りましたね)

建築

↑から一コマ進んだだけで、急に高さが



・ここから北へ行くと

・ここから南西に行くと

・ここから南東に行くと



・ここから東へ行くと

・東に行くと、バグ


・道なき道を進む



・鹿


・鳥


トンネル


・坂



・行き止まり



・海!


・あっちよ!


・入っちゃだめ!

・23区なのに



ついでに画像を貼り付けできるかと思ったら、

はてなはembed出来ませんでした!

2007-05-16

かめらほしい!でも使い道は?

やっぱカメラ欲しい!欲しいよ!最近GRデジタルが人気すぎるからGRデジタル嫌いになってきちゃったよ!

2007-01-26

もしかして

D40よりもGR-Dの方が高いのか?

D100を25万で買って安さに感動していた頃とは隔世の感があるな・・・

以下、

D1を(略

QuickTakeを(略

D2000を(略

2006-12-20

サイボーグと美女

今さらだが、録画してたNHKスペシャルサイボーグ技術人類を変える」を見た。

人工眼の人は初めて見た。なんでこんなゴツい装置なんだ?と思ってたら理由も語られた。検索してみたらこちらに詳しかった。→sci.gr.jp/project/nhksp/text_3.php あの故障はなんとかメンテナンスできないものなのか。多少使い勝手の悪い道具でも、まもなく脳の方が適応して体の一部のように動かせるのは、ゲーマーには実感があるんじゃないか。それと瑣末だが、ロボット義手の研究室で、装置の端にメモクリップがついてて、ホテルの備品みたいな小さな櫛を差してあるのが面白かった。細い配線が絡まないように櫛の歯の間にはさんである。うまいこと思いつくなー。

個人的には、体も脳も一種の精密機械であるという事実に抵抗はない。脳内化学物質のバランスで物の見方や感情の起伏が周期的に変わっちゃうという状況は女性には日常だろう(人によって程度の差はありましょうが)。そういったしくみが、生得的か、人工的にコントロールできるか、の違いだろうと思う。

いずれ自分の外観も思考デザインできるようになるのだろう。

問題は、目指すべき「適正」「標準」を何をもって選択・決定するか、だろうか。

録画を見ながら、整形美人を連想していた。整形した人を見ると、いつごろ手術した人なのかが察せられることがある。その当時に流行した女優に似ているところがあるからだ。より良い幸福な自分になれるなら問題ない。しかし、個人や社会が要請した「正しさ」が、数年後にも正しいと感じられるかどうかは、本人にもわからない。「選択肢がある」とはそういうことだろうと思う。

ログイン ユーザー登録
ようこそ ゲスト さん