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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yumeto Inaoka
March 01, 2017
Technology
230
0
Share
正規表現
2017/03/01のB3ゼミで発表
Yumeto Inaoka
March 01, 2017
More Decks by Yumeto Inaoka
See All by Yumeto Inaoka
文献紹介: Quantity doesn’t buy quality syntax with neural language models
yumeto
1
210
文献紹介: Open Domain Web Keyphrase Extraction Beyond Language Modeling
yumeto
0
270
文献紹介: Self-Supervised_Neural_Machine_Translation
yumeto
0
190
文献紹介: Comparing and Developing Tools to Measure the Readability of Domain-Specific Texts
yumeto
0
200
文献紹介: PAWS: Paraphrase Adversaries from Word Scrambling
yumeto
0
190
文献紹介: Beyond BLEU: Training Neural Machine Translation with Semantic Similarity
yumeto
0
320
文献紹介: EditNTS: An Neural Programmer-Interpreter Model for Sentence Simplification through Explicit Editing
yumeto
0
390
文献紹介: Decomposable Neural Paraphrase Generation
yumeto
0
250
文献紹介: Analyzing the Limitations of Cross-lingual Word Embedding Mappings
yumeto
0
270
Other Decks in Technology
See All in Technology
フロントエンドの相手が変わった - AIが加わったWebの新しいインターフェース設計
azukiazusa1
33
11k
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8k
AI 時代の Platform Engineering
recruitengineers
PRO
1
100
Oracle Cloud Infrastructure:2026年4月度サービス・アップデート
oracle4engineer
PRO
0
370
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
190
ハーネスエンジニアリング入門
knishioka
0
130
古今東西SRE
okaru
1
130
ボトムアップ限界を越える - 20チームを束る "Drive Map" / Beyond Bottom-Up: A 'Drive Map' for 20 Teams
kaonavi
0
140
Agent の「自由」と「安全」〜未来に向けて今できること〜
katayan
0
340
変化の激しい時代をゴキゲンに生き抜くために 〜ストレスマネジメントのススメ〜
kakehashi
PRO
4
1.1k
(きっとたぶん)人材育成や教育のような何かの話
sejima
0
650
AI時代に越境し、 組織を変えるQAスキルの正体 / QA Skills for Transforming an Organization
mii3king
5
4.1k
Featured
See All Featured
A Tale of Four Properties
chriscoyier
163
24k
Exploring anti-patterns in Rails
aemeredith
3
350
The Mindset for Success: Future Career Progression
greggifford
PRO
0
320
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
280
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
780
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
sira's awesome portfolio website redesign presentation
elsirapls
0
230
The Cult of Friendly URLs
andyhume
79
6.9k
Done Done
chrislema
186
16k
Evolving SEO for Evolving Search Engines
ryanjones
0
190
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Transcript
ਖ਼نදݱ #θϛ ࣗવݴޠॲཧݚڀࣨɹҴԬເਓ
ൃද༰ ˗ ਖ਼نදݱͱ ˗ ਖ਼نදݱΛΘͳ͍߹ɾͬͨ߹ ˗ ߏจ ˗ লུɾϝλจࣈ
ਖ਼نදݱͱ ˗ จࣈྻू߹ΛͭͷจࣈྻͰදݱ͢Δํ๏ ˗ ݕࡧͳͲʹར༻͞Ε͍ͯΔ ˗ ଟ͘ͷϓϩάϥϜݴޠͰར༻Մೳ ˗ ݩʑਓݴޠΛද͢खஈͷͭͱͯ͠ಋೖ ˗
ӳޠͩͱ3FHVMBSFYQSFTTJPO ˗ ུͯ͠SF SFHFY SFHFYQ
ਖ਼نදݱΛΘͳ͍߹ ˗ 8JOEPXT8JOEPXTΛݕࡧ os = ["Windows 95", "Windows95", "windows 95",
“windows95”, "Windows 98", "Windows98", "windows 98", “windows98”] print("ok" if s in os else “ng") # Windows95 -> ok # windows 98 -> ok # Windows Me -> ng
ਖ਼نදݱΛͬͨ߹ ˗ 8JOEPXT8JOEPXTΛݕࡧ os = r"[Ww]indows ?9[58]" print("ok" if
re.match(os, s) else “ng") # Windows95 -> ok # windows 98 -> ok # Windows Me -> ng
ਖ਼نදݱΛͬͨ߹ ˗ ܞଳి൪߸Λݕࡧ phone = r"0[789]0-?\d{4}-?\d{4}" print("ok" if re.match(phone,
s) else "ng") # 070-0123-4567 -> ok # 09009876543 -> ok # 06-6012-3456 -> ng
ਖ਼نදݱͷߏจ ˗ ҙͷҰจࣈ ptn = r”r.c.” # rice ->
ok # rich -> ok # rock -> ok # roc -> ng # reach -> ng
ਖ਼نදݱͷߏจ ˗ ಛఆͷҰจࣈ<ʜ> ptn = r”[bdm]ay” # bay ->
ok # day -> ok # may -> ok # way -> ng # say -> ng # pay -> ng
ਖ਼نදݱͷߏจ ˗ จ಄? ptn = r”^re” # reborn ->
ok # revenge -> ok # replay -> ok # preview -> ng # unstable -> ng # alive -> ng
ਖ਼نදݱͷߏจ ˗ จ ptn = r”able$” # movable ->
ok # readable -> ok # able -> ok # stably -> ng # assemble -> ng
ਖ਼نදݱͷߏจ ˗ ճҎ্ͷ܁Γฦ͠ ptn = r”w*” # w
-> ok # ww -> ok # wwww -> ok # -> ok # oh -> ng # yeah -> ng # hey -> ng
ਖ਼نදݱͷߏจ ˗ ճҎ্ͷ܁Γฦ͠ ptn = r”oh+” # oh
-> ok # ohh -> ok # ohhhh -> ok # o -> ng # ok -> ng
ਖ਼نදݱͷߏจ ˗ ճ͔ճ ptn = r”^b?l?ack” # ack
-> ok # lack -> ok # back -> ok # black -> ok # block -> ng # slack -> ng
ਖ਼نදݱͷߏจ ˗ Nճ͔ΒOճ\N O^ ptn = r”^g{2,4}d$” # good
-> ok # goood -> ok # gooood -> ok # gd -> ng # god -> ng # goooood -> ng
লུɾϝλจࣈ ˗ ܻҎ্ͷࣈྻ ptn = r”[0123456789]+”
লུɾϝλจࣈ ˗ ܻҎ্ͷࣈྻ # ptn = r”[0123456789]+” ptn = r”[0-9]+”
লུɾϝλจࣈ ˗ ܻҎ্ͷࣈྻ # ptn = r”[0123456789]+” # ptn =
r”[0-9]+” ptn = r”\d+”
লུɾϝλจࣈ ˗ จࣈҎ্ͷӳখจࣈྻ ptn = r”[abcdefghijklmnopqrstuvwxyz]+”
লུɾϝλจࣈ ˗ จࣈҎ্ͷӳখจࣈྻ # ptn = r”[abcdefghijklmnopqrstuvwxyz]+” ptn = r”[a-z]+”
লུɾϝλจࣈ ˗ ઌ಄͕ӳࣈɺͦΕҎ͕߱ӳࣈຢ@ ptn = r”[a-zA-Z][a-zA-Z_\d]*”
লུɾϝλจࣈ ˗ ઌ಄͕ӳࣈɺͦΕҎ͕߱ӳࣈຢ@ # ptn = r”[a-zA-Z][a-zA-Z_\d]*” ptn = r”[a-zA-Z]\w*”
ਖ਼نදݱͷྫ ˗ 8JOEPXT8JOEPXTΛݕࡧ os = r"[Ww]indows ?9[58]"
ਖ਼نදݱͷྫ ˗ 8JOEPXT8JOEPXTΛݕࡧ os = r"[Ww]indows ?9[58]"
ਖ਼نදݱͷྫ ˗ 8JOEPXT8JOEPXTΛݕࡧ os = r"[Ww]indows ?9[58]"
ਖ਼نදݱͷྫ ˗ 8JOEPXT8JOEPXTΛݕࡧ os = r"[Ww]indows ?9[58]"
ਖ਼نදݱͷྫ ˗ ܞଳి൪߸Λݕࡧ phone = r"0[789]0-?\d{4}-?\d{4}"
ਖ਼نදݱͷྫ ˗ ܞଳి൪߸Λݕࡧ phone = r"0[789]0-?\d{4}-?\d{4}"
ਖ਼نදݱͷྫ ˗ ܞଳి൪߸Λݕࡧ phone = r"0[789]0-?\d{4}-?\d{4}"
ਖ਼نදݱͷྫ ˗ ܞଳి൪߸Λݕࡧ phone = r"0[789]0-?\d{4}-?\d{4}"
ਖ਼نදݱͷྫ ˗ ܞଳి൪߸Λݕࡧ phone = r"0[789]0-?\d{4}-?\d{4}"
ਖ਼نදݱͷྫ ˗ ܞଳి൪߸Λݕࡧ phone = r"0[789]0-?\d{4}-?\d{4}"
ൃදͨ͠༰ ˗ ਖ਼نදݱͱ ˗ ਖ਼نදݱΛΘͳ͍߹ɾͬͨ߹ ˗ ߏจ ˗ লུɾϝλจࣈ