HOMEに戻る
Join me on Facebook Join me on Twitter Subscribe to RSS Email me

<お知らせ>パソコンに不慣れな方の誤操作防止に右クリックはできません
見やすさを重視して左側しか内容が変わりません(右側は補助的な情報です)
文字を極力大きくしていますが、もっと大きくしたいときはここをクリック

・パソコンに不慣れな方向けにコラムを作りました。順次更新予定です

2014年3月24日月曜日

正規表現入門 星の高さを求めて

はてなブックマークで人気の話題から、少し難しいかもしれない記事が目に留まりました。

……エクセルやインターネットなどで、
「検索」が思いのままに出来たら、
これ程、即戦力になる事は無い、
しかもどの職場でもあてはまる物は、
現実無いのかもしれません。


それを現場担当者が正確に理解し、妥当な評価を下していただければよいのですが
まあ、それは置いておいて


実はこれ程技術に差が出るものもないと思います


エクセルほど技術の差が出るものはない
……というところぐらいは広く認識されているらしいですが
検索機能(エクセルの検索はそもそも「まともではない」ので広義の検索機能)を突き詰めると
博士号の取得に十分です(元の記事者もその方のようです) というより重大な研究対象です


正規表現入門 星の高さを求めて

http://www.slideshare.net/sinya8282/ss-32629428


たとえばIP電話という比較的に安い電話料で使えるというものがあります
で、番号が欲しいので、今どの番号が空いているか検索するとします。
もしくは、検索サービスを作るとします(もちろんすでにありますが)

基本的に電話番号050から始まるIP電話番号、ただし携帯電話やその他サービスに回される可能性があるので、それだけで決まりません

今はこの番号なら使っていいよ、と「総務省」が決めています
http://www.soumu.go.jp/main_sosiki/joho_tsusin/top/tel_number/number_shitei.html


ここから、3.IP電話の電話番号(050)

を見ていくと、


050-CDEF-××××だとすると

列の部分は050-CDEFのEコードまでを、1行目の0~9はFコードを示します


だそうです

なので

050-1000-0000 や

050-1812-0000 はIP電話番号として使えるが


050-1813-0000 や

050-1999-9999 は使う事が出来ない

となります(順次更新されるので、更新されるたびに提供資料をプログラムが取り込み、業者は最新化します)


……このリストを050-9999-9999まで見て言ってもいいのですが


これを、ただの一行の電話番号で検索する事も可能です

Googleで「~とは」とか検索する気分です(わかりやすく言ってます)


それがこちらになるそうです



IP電話番号を表す正規表現 

050-(8(8(10|0d|6[4-8]|8[0-6])|0([0-2]d|3[0-8])| 2(0d|1[0-2])|6(86|0[01]))|7(6([01]d|2[0-5])|7(88| 7[0-5])|1(0d|1[0-3])|30[0-3]|00[01]|5dd)| 3(8([01]d|2[0-5])|2([0-4]d|5[01])|[013-7]dd| 90[01])|5(([02]0|5[0-6])d|8([0-3]d|4[0-2])|79[89])| 2(0([0-2]d|3[0-6])|20[01]|403|525)|6(6(19|2[0-2])| 86[0-8]|[01]00)|1(8(0d|1[0-2])|[0-7]dd)|90(0d| 1[0-5]))d{4}


わけがわかりませんね、正直自分も半信半疑です(;一_一)

すこし、正すと上の050-(8(8~ という電話番号は
総務省の3.IP電話の電話番号(050) というエクセルファイルと同じもの
という、意味です

少しずつ、改行して見ていくとわかるようになっていくのですが

050-
(8
(8
(10|0d|6[4-8]|8[0-6])|0([0-2]d|3[0-8])| 2(0d|1[0-2])
|6
(86|0[01])
)
|7
……
)
d{4}



あまりくわしく突き詰めても、嫌になってきたので、いいです

自分で、さらさら書いて行けるほど、この表現方法を覚えてません(昔は書いたものですが)
もちろん現場では必要な技術で、補助してくれるツール(ソフト)もあります

昨日の映画「プラチナデータ」でもプログラミングは重要な要素でしたが
作中に出てきたような、プログラミング言語(正確には違いますが)
アルファベットの羅列を見て、わからないのは当然の反応ですが


一行の050-(8(8~ という電話番号が
総務省の3.IP電話の電話番号(050)

というエクセルファイルと同じものになる

これって面白くないですか?



これを見て

「わけわからん、もういいや」


「わかんないけど……おもしろい」

が、分かれ目だと思います。


おもしろかったら「正規表現」で検索してみてください



でもGoogle検索で正規表現は正しく使えないんですけどね(;一_一)

こちらの投稿もどうぞ


いいね!ボタンは
「お気に入り」みたいな使い方もできます
それぞれのSNSで「検索」すれば、すぐにお目当ての記事が見つかります


コメント欄

Facebook Yahoo.com twitter google+のIDでコメントできます
(公式ツールのみ使用しています)

0 件のコメント:

コメントを投稿

ソーシャル・ネットワーキング・サービス(SNS)
フォローしてくれたら泣いて喜び、小躍りします

【PR】広告主様は毎回自動で変わります。広告内容は選べません