Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
正規表現苦手なんです...
Search
Nobuyuki Nishiyama
October 18, 2019
Programming
660
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
正規表現苦手なんです...
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
560
ゲーム音楽が好きすぎて実機から録音したけど需要ありますか?
5mingame2
2
930
コントロールセンターとたたかう
5mingame2
2
2.4k
OpenGLを試すなら
5mingame2
0
710
課金処理とたたかう.pdf
5mingame2
1
940
Emacs meets Vim
5mingame2
1
800
タッチジェスチャーとたたかう
5mingame2
4
840
教えて!Xcode
5mingame2
4
1.9k
つかおう!滑らか移動
5mingame2
0
640
Other Decks in Programming
See All in Programming
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
4
3.8k
Crash Auto Pipelines
veronikapj
1
410
Materialが消えた日 〜真っ白なFlutterキャンバスにRenderObjectで絵を描く〜
umigishiaoi
0
160
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.9k
SODA - FACT BOOK(EN)
sodainc
1
220
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
370
AI Augmentation Techniques with Liberty
ivargrimstad
1
430
Railsバージョンを4倍にした話
optim
0
1k
SFCで実現する病院・医療システムの動的組み立て式UI
koukimiura
1
170
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
740
Claude Code ハーネスDeep Dive – 君はどこまで制御する? -
takateeen_knj
6
5.1k
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
170
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
630
Context Engineering - Making Every Token Count
addyosmani
9
1.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
ラッコキーワード サービス紹介資料
rakko
5
5.8M
Darren the Foodie - Storyboard
khoart
PRO
5
4.1k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
460
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
570
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
740
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
300
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.7k
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 ͓͠·͍ ΞϓϦධ৴தʂ