Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
正規表現苦手なんです...
Search
Nobuyuki Nishiyama
October 18, 2019
Programming
630
1
Share
正規表現苦手なんです...
Regex Festa
https://opt.connpass.com/event/140566/
のLTで使った資料です!
Nobuyuki Nishiyama
October 18, 2019
More Decks by Nobuyuki Nishiyama
See All by Nobuyuki Nishiyama
C++ MIX #11 これどう読むの...?
5mingame2
0
510
ゲーム音楽が好きすぎて実機から録音したけど需要ありますか?
5mingame2
2
850
コントロールセンターとたたかう
5mingame2
2
2.4k
OpenGLを試すなら
5mingame2
0
670
課金処理とたたかう.pdf
5mingame2
1
900
Emacs meets Vim
5mingame2
1
780
タッチジェスチャーとたたかう
5mingame2
4
800
教えて!Xcode
5mingame2
4
1.9k
つかおう!滑らか移動
5mingame2
0
610
Other Decks in Programming
See All in Programming
RailsTokyo 2026#4: AI様があれば、 Hotwireの弱点は消えるか?
naofumi
5
930
Cloudflare で始める Data Platform
ta93abe
0
300
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
1
960
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
180
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
290
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
180
誰も頼んでない機能を出荷した話
zekutax
0
130
20260514 - build with ai 2026 - build LINE Bot with Gemini CLI
line_developers_tw
PRO
0
470
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
850
横断組織出身のQAEがインプロセスQAEでつまずいたこと・活かせたこと
ty89
0
180
inferと仲良くなる10分間
ryokatsuse
1
250
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
210
Featured
See All Featured
How to build a perfect <img>
jonoalderson
1
5.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Into the Great Unknown - MozCon
thekraken
41
2.5k
Building the Perfect Custom Keyboard
takai
2
770
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
140
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
Done Done
chrislema
186
16k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.6k
Claude Code のすすめ
schroneko
67
220k
How to train your dragon (web standard)
notwaldorf
97
6.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Transcript
3FHFY'FTUB ਖ਼نදݱۤखͳΜͰ͢ʜ ΅ͬͪήʔϜσϕϩού ࢁ৴ߦɹ
͡Ίʹ ͑Β͍ͱ͜ʹདྷͪ·ͬͨͩʜ
ࠓճͷ͓
ਖ਼نදݱͱͷग़ձ͍ ΨϥέʔͷαΠτΛ࡞͍ͬͯΔ࣌ʹ ʮೖྗ͞ΕͨจࣈྻϝʔϧΞυϨε͔ʁʯ Λఆ͢Δඞཁ͕ੜͨ͡ʂ
ਖ਼نදݱͱͷग़ձ͍ ։ൃݴޠ1FSMɻ
ਖ਼نදݱͱͷग़ձ͍ ʮ1FSMϝϞʯͱ͍͏αΠτͰݟͭ ͚ͨʂ IUUQXXXEJOPSKQdPI[BLJQFSMIUN
None
$mail_regex = q{(?:[^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\\} . q{\[\]\000-\037\x80-\xff])|"[^\\\\\x80-\xff\n\015"]*(?:\\\\[^\x80-\xff][} . q{^\\\\\x80-\xff\n\015"]*)*")(?:\.(?:[^(\040)<>@,;:".\\\\\[\]\000-\037\x} . q{80-\xff]+(?![^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff])|"[^\\\\\x80-} .
q{\xff\n\015"]*(?:\\\\[^\x80-\xff][^\\\\\x80-\xff\n\015"]*)*"))*@(?:[^(} . q{\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\\\[\]\0} . q{00-\037\x80-\xff])|\[(?:[^\\\\\x80-\xff\n\015\[\]]|\\\\[^\x80-\xff])*} . q{\])(?:\.(?:[^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,} . q{;:".\\\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\\\x80-\xff\n\015\[\]]|\\\\[} . q{^\x80-\xff])*\]))*};
Ҿ͍ͨɻ
ٸ͕ճΕ
ٸ͕ճΕ ࢼߦࡨޡͭͭ͠ɺ )5.-λάͷॻ͖͑ͱ͔ɺ จࣈྻஔͱ͔͕Ͱ͖ΔΑ͏ʹͳͬͨʂ
ָ͘͠ͳ͖ͬͯͨॴͰ ͦͷޙ1FSM͔ΒΕɺ 0CKFDUJWF$$ Ͱॻ͘ɻ
&NBDTͰ͏͙͢ΕΔʜ
$ ʹͯਖ਼نදݱαϙʔτʂ
ਖ਼نදݱͷ༷͕Θ͔ΒΜʜ
ௐࠪΛଓ͚ͨ݁Ռ &$."4DSJQUͷਖ਼نදݱͷ༷ ͱ΄΅ಉ͡Β͍͠ʜ
&$."4DSJQUͬͯԿʁ
࠷ۙ+BWB4DSJQUҊ݅Λܦͯ Α͏͘ཧղʹࢸͬͨʂ
.%/࠷ߴͰ͢
༷ͳΜͱͳ͘Θ͔ͬͨ
·ͩ͜ΕΛॻ͚Δؾ͕͠ͳ͍ $mail_regex = q{(?:[^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\\} . q{\[\]\000-\037\x80-\xff])|"[^\\\\\x80-\xff\n\015"]*(?:\\\\[^\x80-\xff][} . q{^\\\\\x80-\xff\n\015"]*)*")(?:\.(?:[^(\040)<>@,;:".\\\\\[\]\000-\037\x} . q{80-\xff]+(?![^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff])|"[^\\\\\x80-}
. q{\xff\n\015"]*(?:\\\\[^\x80-\xff][^\\\\\x80-\xff\n\015"]*)*"))*@(?:[^(} . q{\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\\\[\]\0} . q{00-\037\x80-\xff])|\[(?:[^\\\\\x80-\xff\n\015\[\]]|\\\\[^\x80-\xff])*} . q{\])(?:\.(?:[^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,} . q{;:".\\\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\\\x80-\xff\n\015\[\]]|\\\\[} . q{^\x80-\xff])*\]))*};
ͱݴ͏༁Ͱʜ ʑͷ܇࿅ํ๏ͱ͔ίπͱ͔ ڭ͍͑ͯͩ͘͞ʂ
w5XJUUFS!NJOHBNF w'BDFCPPLNJOHBNF w(JU)VCUFLOJTIJ ͓͠·͍ ΞϓϦධ৴தʂ