Download - 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回
![Page 1: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/1.jpg)
正規表現が楽しくなる話 ナーバ (@Naba0123)
![Page 2: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/2.jpg)
自己紹介
• ナーバ @Naba0123
• 趣味 C# / Web 系開発 / DTM
• 仕事 組み込み 系(新卒) 転職したい
• 冬コミ申し込みました
(オリジナルソロピアノCD)
• アークスフェス楽しかった
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 2
4gamer.net
![Page 3: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/3.jpg)
正規表現(好き|嫌い)ですか?
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 3
![Page 4: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/4.jpg)
正規表現が嫌いな人
•言語によって拡張表現が違ってややこしい
•思った通りにパターンマッチしてくれない
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 4
![Page 5: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/5.jpg)
正規表現を図示すると
わかりやすい!!
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 5
![Page 6: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/6.jpg)
正規表現 楽しい!!
✌ (‘ω’ ) ✌三 ✌ (‘ω’) ✌三✌ ( ‘ω’) ✌
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 6
![Page 7: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/7.jpg)
今回紹介するもの
•連接 プロ生ちゃん
•分岐 (プロ|ニコ)生ちゃん
•繰り返し プロ生ちゃん(マジ天使)*
•何か一文字 プロ.ちゃん
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 7
![Page 8: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/8.jpg)
連接
• RE = プロ生ちゃん
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 8
プ ロ start 生 ち ゃ ん end
start プロ生ちゃん end
![Page 9: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/9.jpg)
分岐
• RE = (プロ|ニコ)生ちゃん
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 9
start end 生ちゃん
ニコ
プロ
![Page 10: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/10.jpg)
繰り返し
• RE = プロ生ちゃん(マジ天使)*
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 10
start end マジ天使 プロ生ちゃん
![Page 11: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/11.jpg)
何か一文字
• RE = プロ .ちゃん
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 11
start end プロ . ちゃん
![Page 12: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/12.jpg)
役に立つ例
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 12
![Page 13: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/13.jpg)
プロ生ちゃんのあいまい検索
• RE = (プロ|プロ).*生 (ちゃん|くん)
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 13
start end
プロ
.
ちゃん
くん
プロ
生
![Page 14: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/14.jpg)
プロ生ちゃんのあいまい検索
• RE = (プロ|プロ).*生 (ちゃん|くん)
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 14
• プリ生ちゃん
• プログラミング生ちゃん
• プロ生くん
• プロフェッショナル生くん
• プロ生ちゃん
• プログラミングちゃん
• プリンちゃん
• ConoHaちゃん
![Page 15: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/15.jpg)
プロ生ちゃんのあいまい検索
• RE = (プロ|プロ).*生 (ちゃん|くん)
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 15
• プリ生ちゃん
• プログラミング生ちゃん
• プロ生くん
• プロフェッショナル生くん
• プロ生ちゃん
• プログラミングちゃん
• プリンちゃん
• ConoHaちゃん
![Page 16: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/16.jpg)
ログファイル抽出
• RE = log- .*-20150(1|2|3|4|5|6).*¥.log
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 16
• log-A-201501.log
• log-PRO-20150610.log
• log-(1.2.3)-201503DMM.log
• log-プロ生-201502.log
• log-.*-201504...log
• log--201501.log
• log-天使-2015087天使.log
• ConoHaちゃん
![Page 17: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/17.jpg)
ログファイル抽出
• RE = log- .*-20150(1|2|3|4|5|6).*¥.log
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 17
• log-.*-201504...log
• log--201501.log
• log-天使-2015087天使.log
• ConoHaちゃん
• log-A-201501.log
• log-PRO-20150610.log
• log-(1.2.3)-201503DMM.log
• log-プロ生-201502.log
![Page 18: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/18.jpg)
まとめ
•基本的な構文を覚えれば、応用でなんとでもなる
•自由自在に文字列の検索を行えるようになる
•日常生活の中で、繰り返す文字列が*にしか見えなくなった
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 18
![Page 19: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/19.jpg)
正規表現 楽しい!!
✌ (‘ω’ ) ✌三 ✌ (‘ω’) ✌三✌ ( ‘ω’) ✌
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 19
![Page 20: 正規表現が楽しくなる話 - 8/29 プログラミング生放送勉強会 第35回](https://reader031.vdocuments.pub/reader031/viewer/2022020723/58a39dd11a28abb1348b6537/html5/thumbnails/20.jpg)
おわり
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ @Naba0123 20