Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
正規表現苦手なんです...
Nobuyuki Nishiyama
October 18, 2019
Programming
1
400
正規表現苦手なんです...
Regex Festa
https://opt.connpass.com/event/140566/
のLTで使った資料です!
Nobuyuki Nishiyama
October 18, 2019
Tweet
Share
More Decks by Nobuyuki Nishiyama
See All by Nobuyuki Nishiyama
ゲーム音楽が好きすぎて実機から録音したけど需要ありますか?
5mingame2
2
460
コントロールセンターとたたかう
5mingame2
2
1.9k
OpenGLを試すなら
5mingame2
0
480
課金処理とたたかう.pdf
5mingame2
1
600
Emacs meets Vim
5mingame2
1
610
タッチジェスチャーとたたかう
5mingame2
4
580
教えて!Xcode
5mingame2
4
1.3k
つかおう!滑らか移動
5mingame2
0
340
C++MIX#2 「パズモナのひみつ」
5mingame2
0
890
Other Decks in Programming
See All in Programming
Rに管理されてみる
kazutan
0
250
More Than Micro Frontends: 3 Further Use Cases for Module Federation @DWX 2022
manfredsteyer
PRO
0
370
Windows コンテナ Dojo 第5回 OpenShift で学ぶ Kubernetes 入門
oniak3ibm
PRO
0
180
これからのスクラムマスターのキャリアプランの話をしよう - スクラムマスターの前に広がる世界
psj59129
0
210
RustのWebフレームワーク周りの概観
hayao
0
180
SRE NEXT 2022に学ぶこれからのSREキャリア
fukubaka0825
2
390
閱讀原始碼 - 再戰十年的 jQuery
eddie
1
290
Efficient UI testing in Android
alexzhukovich
1
120
アジャイルで不確実性に向き合うための開発タスクの切り方
tanden
4
1.1k
Computer Vision Seminar 1/コンピュータビジョンセミナーvol.1 OpenCV活用
fixstars
0
170
AWS Config Custom Rule、ノーコードでできるかな?
watany
0
250
Scaling Productivity- How we have improved our dev experience
sockeqwe
1
120
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
219
17k
How GitHub (no longer) Works
holman
297
140k
We Have a Design System, Now What?
morganepeng
35
3k
How To Stay Up To Date on Web Technology
chriscoyier
780
250k
How STYLIGHT went responsive
nonsquared
85
4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
7
1.1k
Designing on Purpose - Digital PM Summit 2013
jponch
106
5.7k
Atom: Resistance is Futile
akmur
255
20k
Stop Working from a Prison Cell
hatefulcrawdad
262
17k
Rails Girls Zürich Keynote
gr2m
87
12k
Building Better People: How to give real-time feedback that sticks.
wjessup
344
17k
How New CSS Is Changing Everything About Graphic Design on the Web
jensimmons
213
11k
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 ͓͠·͍ ΞϓϦධ৴தʂ