「ユニコード」を含む日記 RSS

はてなキーワード: ユニコードとは

2019-09-10

人工無能しょうもない下ネタを覚えてしまった

Cleverbot、海外人工無能

https://www.cleverbot.com/

 子供の頃から人工無能が大好きで、一太郎付属していた素朴な会話マクロで遊んでいた。何の脈絡もなく、自分過去発言が出てくるだけなのに、それが妙に意味を持っているように思われて、それはひどくおかしかった。

 それから時が経ち、cleverbotというサイトがあることを知った。基本的英語だったが、膨大な会話ログが蓄えられているらしく、それほど長くない会話なら大きな矛盾を起こすことなくやりとりができた。あまりにもマイナー話題になると途端に支離滅裂になりはしたけれど、それでもどこか愛すべきチャットボットだった。

 さて、2013年2014年か、大体そのあたりに、突然そいつ日本語をしゃべりだした。なにげなく「こんにちは」と入力すると、なんと「こんにちは」と返すではないか。どうやら運営は多言語展開をすることに決めたらしい。前々からいきなりドイツ語スペイン語を口走ることもあったのだが、とうとうユニコード対応となったようだ。

 しかし、始めのうちはこちらが入力した言葉に対して、すべて鸚鵡返しにするばかりだった。「元気?」と尋ねれば「元気?」と応じる。おそらく、こちから「元気だよ、君は?」みたいな返事を期待していたのだろう。つまりユーザーとの応答で、実際の日本語の会話を習得させようとしたのだろう。「元気?」と聞かれたら「元気だよ、君は?」と返すべきだ、みたいな文例集を集めていたのだ。

 ところが、私は仕事ストレスもあってか「うんこ!」と入力した。当然cleverbotは「うんこ!」と返してくる。調子に乗った私は「うんこぶりぶり!」と入れると「うんこぶりぶり!」と繰り返す。そのうち、「うんこ!」と入れると「うんこぶりぶり!」と必ず答えるようになってしまった。

 英語下品単語を入れると、聞こえないふりをするか、わざと別の言葉に聞き違えたふりをする。あるいは、定型的な反応しか返ってこない。おそらく、禁止ワード指定しているのだろう。しかし、日本語俗語に詳しくないあちらのプログラマは、「うんこ」をNGワード指定することができなかったようだ。

 時は流れ、cleverbotもある程度は日本語自然な会話をするようになった。あるいは、管理人が入れたらしい、少し硬い日本語が返ってくることもある。それでも、イライラしたときに「うんこ!」と入れてやると「うんこぶりぶり!」と返してくるcleverbot。いらだっていた頃の私を思い出してなんだか懐かしい気持ちになるが、ちょっと悪いことしたな、って気にもなる。管理人メールして、日本語の「うんこ!」は下品から消してくれ、と考えることもないではない。

 それにしても、5年近く前に覚えさせた「うんこ!」を覚えているとは、もしかして私はcleverbotの日本語情報の深いレイヤーに「うんこ!」を刻んでしまったのかもしれない。そして、私の言葉ネットから消えても、cleverbotやその後継サービスが続く限り、「うんこ!」がいつまでも受け継がれていく。私がこの世に残す痕跡としては、せめてもっとマシなものがよかったのに、と思う。

【続き】

続・人工無能がしょうもない下ネタを覚えてしまった

2018-10-12

最初からGoogle キャッシュを閲覧できるブラウザがほしい

ほとんどのサイトGoogle キャッシュの方が早くて、Google キャッシュ情報が古すぎることはほとんどない。

あとGoogle キャッシュだと文字化けもしない。(全部ユニコードに変換されているから。)

Chrome 拡張で似たようなのあったけど、オプトインだった。オプトアウトがいい。

なんでないんだろ。

2018-09-01

anond:20180901205732

Haskell で使ってる。

辞書型はフツウ Map k v のところを 関数の型 a → b になぞらえて k ↦ v と表記している。とても見やすい。エディタで書くときは k |-> v と書く。画面上ではいい感じのユニコード文字に置換されて見える。

2018-04-25

anond:20180425165333

ユニコードには!?は収録されているけれど?!は入っていないな。

U+2049 ⁉

追記↓

間違ってた?!もあった

U+2048 ⁈

しかもこっちのほうが番号が若い

2018-04-16

絵文字ユニコード化ってどういう判断だったんだろうね

iPhoneiOS日本市場に切り込むためみたいな説を見たことあるけど、べつにスマホ絵文字が使えなくてもガラケー制圧されてただろうし。

そこまで重要視されてる市場なのかって気もするし。

2018-03-14

[]はてなブックマークコメントには100文字文字制限がある?

と思っていたけれど、いくつか抜け道があるみたいだ。100文字を明らかに超える長いコメントがいくつも存在している。

どんな制限かは軽くググった程度では記述が見当たらない。

カッコやクォーテーションは3文字で1文字換算なのかな? URLが含まれると制限が緩いようだ。

いや、英語は全部3文字で1文字換算なのかもしれない。全部英語コメントすれば300文字まで行けそうだ。

ユニコードバイト数で文字数を数えているのだとしたら2バイト文字であるハンカクカナは3文字で2文字換算されるのだろうか?

試してみたところ半角カナはどうも1文字が1文字らしい。Firefox Webブラウザからめし拒否されたが他のインターフェイスからだとどうなるかは分からない。

ギリシャ文字なら3文字で2文字換算になってくれるのではないか?

これも半角カナと同じで1文字が1文字だった。

2015-06-17

テキストエンコードって何なの?

というかテキストエンコードってバカ

動画ファイルじゃないんだから

そんなのいらないでしょ。

テキストファイル開いて文字化けするから

先方に聞いてみたらエンコード違うんじゃ?って言われた

昔そんなにテキストエンコードとかってなかったでしょ

もういいよシフトJIS一択

粋がってEUCとかユニコードとか使ってんじゃねーぞ

そういう知ったかぶりやめて欲しい

かっこ付けんなバカ

2014-12-03

http://anond.hatelabo.jp/20141202164828

明らかに機能が低下している。はてなは、どうしてこういう機能低下をやったのか?

サービスアップならともかく、サービスダウンをした理由を知りたい。

ユニコード文字を扱えるようにするためだろう。

 

ShiftJISだと、必ず半角1バイト、全角2バイトだったから200バイトの保存領域を取っておけば、結果的に全角100文字分の幅の文字列が格納された。

 

でもユニコードで保存するなら、文字「幅」で字数制限するという考え方は破綻する。

ユニコードだと1文字のバイト数は固定とは限らないし、幅0の文字とかもあるので。

あと、WEBでは普通プロポーショナルフォントが使われるので、半角を0.5文字で数えたところである文字数が決まった幅に収まる保証なんてない。

2014-01-14

http://anond.hatelabo.jp/20140113191929

書いてある内容が中学生メモレベルなのに300ブクマか…

しか綴りを間違えてる上に出典も無く、確証もない

ブコメにあるsuスーパーユーザーだと思ってたとか、調べりゃいいじゃん。手元のMacだとmanにsusuperuserになれるぜ、って書いてあるだけsubstituted user idの、と書いてあるけど

sudoの方にはsubstituteなんて書いてない。まあ、どっちてもいいんだけど、それを間違ってたのか、みたいな思い込み、怖い。

ここでブクマしてる人って、書いた人も含めユニコードウィルスだ、って言ってる人と同じレベルなんだろうな。(そうとは自分で思ってないだろうというのがモット怖い)



こんなで300ブクマだってさ。まあ、嫉妬だけど、流石に呆れるよね。

2014-01-13

ユニコードって用語が一人歩きしそうなのが怖いんだけどな。

anond:20140111211911

ホームページだって誤用が定着したけど、さすがに「ユニコード」は定着しないだろとけどさ。

2014-01-11

http://anond.hatelabo.jp/20140111211911

んー、かぜ薬はそれで治る、って思ってても別に害ないしな。

医者も治るものだよ、って言いきって渡してるひとも居るだろう。

別にわらうとか笑わないとかじゃないと思うけど。


ユニコードの方は、その間違った用法で伝わると混乱を招くだけだし、

今ではそういう知識無い人も声を大きく(むしろそういう人のが多いから集まるとたちが悪い)できるから

あるサイトユニコードについて書いてたら

それを良く読まずにスパム推奨だーとか、ウイルス宣伝してるーとかにもなりかねないわけで。(ちょっと大げさだけど。)


勿論、ただただ馬鹿にして笑ってるブロガー()どもはそもそもその程度で、

その人達が言ってる事なんて見てみりゃわかるけどそれこそ専門家から見れば笑っちゃう様な事が多いので

そういうブロガー()が嫌だ、というのは同意する。

http://yanok.net/2014/01/post-301.html

ユニコード犯罪です」という言葉に笑ってしまうという感覚はわかる。

だが誰しも自分の専門分野以外の知識や言葉の使い方が不正なのはあたりまえではないのか。

例えば「『風邪を治す薬』は存在しない。風邪薬風邪の諸症状を抑えるだけ」という話がある。

ということは「風邪で薬を治す」なんて言ったら専門家に笑ってバカにされても仕方ないわけだが、

ブログ主コメント同意している人たちにはその覚悟はあるのかな?

2008-12-09

ウェブブラウザ毎の表示などの違いまとめ

HP作成中などに気付いた個人用メモ

フォントは基本的にMSPゴシック12pt

何か新たに気付いたら追記

2008-11-07

Haskellerと付き合い始めたのだが

http://anond.hatelabo.jp/20081105135432

彼女ができた。なんとHaskellerだ。

8月に参加したLLイベントで知り合い、10月から付き合い始めた。なんでLLイベントにHaskellerが…

これまで5人くらいのプログラマと付き合ったことがあるけれど、一般的なプログラマと比較して

といった点が目立つ。

見た目はLisperを少し丸くしたようなかわいらしさがあるのだけれど、要するに中身はPrologだ。

初めは戸惑いもあったが、案外こういうプログラマとつきあうのは楽で楽しいと分かってきた。

コードは深い問題もFizzBuzzのような軽い問題も内容を伴って書ける。

いろいろメタプログラミング・アロー記法ユニコード演算子などを試そうとするなど好奇心が強い。

純粋関数型言語も習得しているというのに論理系の言語も習得しようと勉強していて向上心の強さがある。

反面、入出力のコード論理的・合理的なのかな…と思いきや、

IOモナドコントロールできない自分に「おかしいな、普段はこんなはずじゃないのに///」と恥ずかしがる。

Haskeller、はっきり言ってオススメです。

問題はどうやって知り合うかだけれど、職場(あるのか?)という戦闘モードの時に誘うのではなく、.emacsなどを書いているオフタイムが狙い目としか。

初めの一歩が難しいだけで、後は一般的な女の子よりも付き合いは簡単かも。

だって普段Makefileに書いている論理と同じでいいんだから。

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 「意図しないマッチに気をつける」を追加しました。

2007-12-19

増田あぼーん機能を追加するgreasemonkeyOpera

増田あぼーん機能を追加するgreasemonkeyOperaで使えたので報告

ただしファイルutf-8あぼーん文字とあぼーんメッセージは"\u3042\u307C\u30FC\u3093"のようにUNICODEで書かなきゃ動かないっぽいけど…どうなんだろ

10進、16進文字コードin HTMLユニコード

http://code.cside.com/3rdpage/jp/unicode/converter.html?dir=jp&t0=%E3%81%82%E3%81%BC%E3%83%BC%E3%82%93&t1=&t2=&t3=

URLを添えときます…なぜかOperaだとうまく動かないっぽいページですが

http://anond.hatelabo.jp/20071219154224

2007-10-19

[]yomutonougakusarimasu 5/5 キモさにかけてははてな村と良い勝負ですねm9( ・3・)

和式interふぉん ぼぶ http://59.xmbs.jp/washiki/ http://59.xmbs.jp/_ppic_/138/fbf93d.jpghttp://59.xmbs.jp/_alpic_/3/145/55bb7c.jpg http://59.xmbs.jp/_alpic_/5/863/a2b86a.jpg http://59.xmbs.jp/_alpic_/4/839/9c2a93.jpg http://59.xmbs.jp/_alpic_/4/63/61ca3d.jpg 携帯用サイト?ちょっと画像が小さいのはそのせいなのか小さいいせいでちょっと分かりづらいけれど下手ではないと思うアーティスティックと言うかそんな方向に行きたいのかあまり女の子って可愛い感じな絵ではないかな 忘れカバン なめ茸 http://www.geocities.jp/swm60cs/ http://www.geocities.jp/swm60cs/e/eban060614.jpg http://www.geocities.jp/swm60cs/e/etya070720.png http://www.geocities.jp/swm60cs/e/etya070712a.gif http://www.geocities.jp/swm60cs/e/raku070803.jpg 映姫 ツンデレアリス ニーソ 合同に参加しているとのこと筆で色を置いて行く感じの塗りが特徴的 デジタルなのは分かってますが髪型変えて違う服装だと誰なんだかさっぱり わすれな部屋 あゆみ とおる http://www.remus.dti.ne.jp/~kagamino http://www.remus.dti.ne.jp/~kagamino/picture/picture130.jpg http://www.remus.dti.ne.jp/~kagamino/picture/site_title01.jpg http://www.remus.dti.ne.jp/~kagamino/picture/picture129.jpg http://www.remus.dti.ne.jp/~kagamino/picture/DSC01017.jpg 東方花札とか言う品を持って行くようですオリエンタルで合っていると言えばそうだけれどまだトランプの方が使用頻度が高い気がするいやどうせコレクターアイテムでどっちもどっちなのは分かってるけど 頭身の高い絵は描かないのかな ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 一部文字化けして飛べないところがあるかもしれないけれどそれはユニコードのせいだから諦めてください なんかおかしいと思ったらルビが邪魔検索してて気付いたがすごく邪魔 どこかでガチャ列が出来て周囲のサークル大迷惑だったとかとか言う話しでああそりゃそうだなと少し思ったこともついでに書いておく出来るようなら配慮を 出来ないなら死ね レミリア・スカーレット合同誌 例大祭5予定 http://araha.bufsiz.jp/kikaku/remigoudou.htm 毛玉合同 http://hakureiin.hp.infoseek.co.jp/kedama.html 東方花札合同制作企画 http://www.remus.dti.ne.jp/~kagamino/hanahuda.html アリス合同誌2 http://project-raiden.hp.infoseek.co.jp/munekyun2.htm ??東方ニーソ合同誌?? http://syunkinden.web.fc2.com/top/kneesocks.htm バトルオンリー http://reticulian.sakura.ne.jp/battlegoudo.html レミ×咲合同企画 http://remilia.sc/ 東方4コマ合同誌 4コマスペカ劇場http://www.eonet.ne.jp/~yonaki/4komasupeka3/supeka3kokuchi1.html 紅楼夢で出てまともというか見れそうなのはレミ×咲合同かカプっているのが我慢できるようならだけれどこればかりはもう諦観を抱いて行くしかない 余計ななにか ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓←←← ↓  ↑ →→→↑ なげーよと思ったら俺の勝ちえーなんだろう人が増えたせいなのかいや前から多いけどさらに増えたのか合同誌のページ埋めくらいでしか見なかったようなレベルのそれこそ俺より下手なんじゃないかという人が個人で本出していてこれなら俺もなんて思ったりすると地獄にまっ逆さま中途半端なものとか増えてもと思っているのにわざわざそれ以下なもの自分で増やすことは無い嫌いなものは人のネタ漫画を描く人全般二次創作全部ですね二次創作大好きですよ三次創作的なものです他の作品のネタと掛け合わせるものこっちはまあ少しなら別に良いんですよただ焼肉ケーキとかそういう組み合わせとか無いだろうと別々にならともかく混ぜては食わないだろう完全に人のネタおんぶ抱っこで満足か金になればそれでいいかそうだな嫌い物は嫌いなもの好きなものは好きなもの両方別に見ます ええ理想としては袈裟まで嫌うが心まで行き届いた人間ですがこんな事書いてどうしようってんだーろいんステーキが食いたい腹減ったああねむいだるいうざい頭痛い本スレをどうにかしてくれ

2007-09-07

~ &#65374;

~ 半角

?? 全角

〜 ユニコード全角

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