お帰りなさい｡
これまで､ 正規表現についてかなり大雑把に話してきました｡
そして､ 異なるものをマッチングさせるのに役立つということを理解してほしいということです｡
しかし､ 問題は､ まあ､ これを本当に実戦に生かすにはどうしたらいいかということです｡
例えば､ Eメールを収集する場合､ スタートアップを作る場合などが良い使用例です｡
このスタートアップは､ 例えば､ 関心のある顧客の電子メールを集めたいと考えています｡
あとは､ 私たちのスタートアップに興味を持ってくれた人が､ ちゃんとしたメールアドレスを入力してくれるかどうかですね｡
データベースやエクセルシートを適当に埋められると困るからです｡
言葉
何かが正しいメールであることを確認したいのです｡
そうでなければ､ 「おい､ これは正しいメールではないぞ」と言われます｡
もう一度やり直してください｡
正規表現は､ ユーザーが入力したものや他のマシンがコードに入力したものが正しい形式であることを確認するための検証に最適なものです｡
そこで､ 私ならこうする､ という例を紹介しましょう｡
例えば､ メールのバリデーションを行いたいとします｡
さて､ まず最初にすることは､ 単純にPythonのメール検証､ regexを入力することです｡
そして､ ここでは､ 有効な電子メールアドレスをチェックする方法をたくさん紹介しています｡
そして､ 最初の2､ 3の答えが､ あなたが探しているものであることがほとんどです｡
私はこの1つのメールアドレス､ 99を動作させる正規表現が好きです｡ 99％の確率で
それで十分だと思います｡
この中に､ スクロールしていけば使えるものがあることがわかりますね｡
言語別の正規表現があるようですね｡
よし､ Pythonをやってみよう｡
単純にこれを真似るだけなんですけどね｡
そして､ ここで､ 正規表現に移動して､ 1対1で､ これをコピーしてみましょう｡
Pythonを選択したため､ Rがすでに含まれているため､ エラーが発生します｡
だから､ 削除しよう｡
ブラケットです｡
ここでもカーソルを合わせると､ やろうとしてることがそれぞれ表示されます｡
そして､ 説明もあります｡
だから､ こうやって正規表現を使うのが好きなんです｡
ネットで過去に人が使っていたものを見つける｡
車輪を再発明してまで理解しようとしない｡
試しに､ ここに電子メールアドレスを入力してみてください｡
マッチングが取れて､ フルマッチして､ グループ1と一致するんです｡
ひとつひとつ見ていきましょう｡
まず､ ブラケットを持っていることを確認します｡
これがキャプチャーグループか｡
1つのデータを取り込もうとしている｡
ここに別のメールを入力するとします｡
それじゃ写らないよ｡
このまま行くと､ 写らないんですよ｡
なぜなら､ 1つの捕獲グループを探す間に
なるほど｡
次に､ 行頭の位置を主張しているのがわかります｡
だから､ ラインの始まりは､ これを確実にとらえたいのです｡
つまり､ 集合の中に存在する1文字にマッチします｡
だから､ このメールは文字でも数字でも何でもいいんです｡
そして最後にアンダースコアになる可能性があります｡
そこにドットがあったり､ プラスがあったり､ マイナスがあったり｡
そして､ 最後にプラスは量詞です｡
つまり､ 1回から無制限までの間でマッチングするわけです｡
だから､ この文字列は好きなだけ長くしても大丈夫なんだ｡
プラスマイナスを受け入れてくれそうです｡
アンダースコアを受け入れることになる｡
でも､ 受け入れない｡
この中にないから感嘆符｡
わかりました｡
だからいいんです｡
次はどうでしょうか？
さて､ 次は看板の部分です｡
文字通り､ 看板です｡
しっかり持たせないといけない｡
そして､ もう一度符号の後に､ 最後にプラスを付けて､ 「おい､ 何個でもあるぞ」と言えるような文字があります｡
完璧です｡
次に特別なものをご紹介します｡
ドットという文字に文字通りマッチするので､ ドットと正規表現を取り除けば､ 実際にはどんな文字にもマッチするのです｡
ドットウェルは､ まさに私たちが求めているものであることを確認したいのです｡
ドット・コム､ ドット・ネット､ ドット・オーガのように､ ドットが必要です｡
その代わり､ このスラッシュがなかったら､ これはどんなキャラクターでもいいんです｡
これでもドットのない文字列は一致する｡
だからまた､ 特別なキャラクター｡
ここです｡
そしてまた､ 実際に説明をしてくれる｡
ですから､ ここをスクロールしていただければ､ それが何をするものなのか､ 正確にお伝えできます｡
わかりました｡
ドットの後は､ もう一度､ 何でもありです｡
この四角い括弧の中に､ 私たちが望むだけ入れてください｡
そして最後にこのドル箱は､ おいおい､ これで終わらせなければならないぞと言うのです｡
これで一段落です｡
すごい｡
だから､ それだけを使えば､ メール検証の方法を正確に把握することができるのです｡
あとは､ コードジェネレーターにアクセスするだけです｡
このコードの一部をコピーしてください｡
ここでも生の文字列を使っているのは､ Pythonインタプリタが特殊な能力を付加しようとしないことを確認したいからです｡
これが生の文字列であることを確認したいだけなのです｡
必ず終わらせる｡
わかりました｡
完璧です｡
では､ この文字列の中に､ be at B dot comのような､ ユーザーが送ってきた電子メールアドレスがあるとします｡
これを全部外して､ パターンだけにしたら｡
そして､ 単純にうまく､ runをクリックしたときにaが存在するかどうかをチェックしましょう｡
よし､ これで一致した｡
しかし､ 誰かが間違った電子メールアドレスを教えてきたり､ 正しくフォーマットされていないものを教えてきた場合､ 例えばこのようにします｡
そして､ 私は実行をクリックします｡
何も出てきません｡
そこで､ if文を使って､ もし一致するオブジェクトがなかったら､ 「すみません､ もう一度やってください」と伝えることができます｡
とても､ かっこいいです｡
そこで､ 練習問題があります｡
今学んだことを使って､ そして間違いなくあなたのGoogleスキルを使って､ 正規表現を使えば､ Googleするのですから｡
暗記はしない方がいい｡
というか､ しないんです｡
そこで､ パスワードチェッカーも作ってほしいのです｡
そのため､ パスワードにはいくつかの条件が必要です｡
そのため､ パスワードは最低でも8文字以上でなければならない｡
そして､ どんな種類の文字でも入れることができる｡
数字です｡
そして､ その中に何が含まれているかはご存知の通りです｡
こんなシンボルマークはいかがでしょう？
それだけです｡
そこで､ このregex 101を使って､ ちょうどこのような正規表現を書いてください｡
そして､ 次の動画では､ これにも挑戦してみます｡
次回作でお会いしましょう｡
バイバイ｡