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
正規表現#TechLunch
Search
Livesense Inc.
PRO
April 21, 2014
Technology
0
47
正規表現#TechLunch
正規表現
2013/04/16 (水) 12:00-13:00 @ Livesense TechLunch
発表者:松坂 高嗣
Livesense Inc.
PRO
April 21, 2014
Tweet
Share
More Decks by Livesense Inc.
See All by Livesense Inc.
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
2.4k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
51
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
1.5k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
440
26新卒_総合職採用_会社説明資料
livesense
PRO
0
11k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
1
38k
26新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
1
13k
中途セールス職_会社説明資料
livesense
PRO
0
270
EM候補者向け転職会議説明資料
livesense
PRO
0
130
Other Decks in Technology
See All in Technology
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
3
3.2k
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
160
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.4k
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
1
240
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
180
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
460
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
280
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
400
Language Update: Java
skrb
2
290
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
330
Featured
See All Featured
KATA
mclloyd
32
14k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Agile that works and the tools we love
rasmusluckow
330
21k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
A designer walks into a library…
pauljervisheath
207
24k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
The Cult of Friendly URLs
andyhume
79
6.6k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Transcript
ਖ਼نදݱ 5BLBTIJ.BUTVTBLB
ࢲਖ਼نදݱ͕͖Ͱ͢ w ʮᩦཉͳڧཉͳʯͳͲͱ͍͏ܗ༰ࢺΛৗతʹ ͏ͷਖ਼نදݱΛॻ͍ͯΔ࣌͘Β͍Ͱ͢
˒˒ˑ w ຊਖ਼نදݱॳ৺ऀ͚ʹ w ਖ਼نදݱͷ"#$Λ w ͓͠Α͏ͱࢥͬͨͷͰ͕͢
͋Δͷ͜ͱ w "͞Μʮਖ਼نදݱͷൃදฉ͖͍ͨͰ͢ʯ w দࡔʮ͋ʔɺඇΤϯδχΞ͚Ͱ͍͜͏ͱࢥͬͯΔ ͷͰɺৄ͘͠ৄઆਖ਼نදݱͱ͍͏͍͍ຊ͕͋Δ͔ ΒͦΕΛʯ w "͞Μʮ͋ɺͦΕϑΫϩ͞ΜͷຊͰ͔͢ɻ࣋ͬͯ ·͢ʯ
w দࡔʮʯ
ଟগํసͯ͠
ਖ਼نදݱͷؾ࣋ͪʹ ͳͬͯߟ͑Δ
ͱ͍͏͜ͱΛ ͓͠·͢
˒˒˒
جૅࣝ
ਖ਼نදݱ w 3FHVMBS&YQSFTTJPO w 3FHFY'F%FYͬΆ͘ൃԻ͢Δͷ͕Α͍ w Ε͐ͬ͘͢͡
ਖ਼نදݱ ෳͷදݱΛਖ਼نԽͨ͠ͷ
Ͳ͏͍͏ͷʁ w ʮBCDʯͱʮBCʯΛද͍ͨ͠߹ w BC Dc w ʮʯʮʯʮʯΛද͢߹ w
cc ʮ¥d+ʯաͩΑɺͱ͍͏Λ͢Δ͖ͩΖ͏͕Ͳ͜Ͱ͢Δ͖͔ɻ
Մೳੑͷۭؒ BCD BC ਖ਼نදݱBC͕ ද͠ಘΔۭؒ BC BCDE BDE ௨ৗͷݕࡧͷ߹ͱू߹ͱ෦ू߹͕ٯͱͳΔɻ
දݱ͍ͨ͠ର㱠දݱ w ਖ਼نදݱʮ͋ΔՄೳੑͷۭؒʯΛද͢ه๏ w ਖ਼نදݱΛॻ͘͜ͱ͕తͰ͋Δ͜ͱͳ͍ w ྺ࢙తʹจ๏Λදݱ͢ΔͨΊͷه๏ͱͯ͠࡞ ΒΕ͕ͨɺࠓͰύλʔϯϚον༻ͷϝλݴޠ ͷ͜ͱΛࢦ͢͜ͱ͕ଟ͍ BNFόοΧεφΞه๏ɻ
ੜࣗ༝จ๏ͱ͔νϣϜεΩʔ֊ͱ͔ͦ͏͍͏എܠʹ৮ΕΔ͖͔ʁ
ి൪߸ͷنଇ w #/' w 5&-/6.44&1/6.44&1/6.4 w /6.4&.15:c/6./6.4 w /6.ccccccccc w
4&1&.15:c w ਖ਼نදݱ w =E\^ =E\^ =E\^ #/'͋Μ·Γ֮͑ͯͳ ͍ͷͰ͚ͬ͜͏ద ಉ͡දݱΛ͢Δͷʹਖ਼نදݱγϯϓϧͩΑͶͱɻ
ΘΕํ w ͨͱ͑େྔͷ$47͔ΒϝʔϧΞυϨεΛൈ͖ ग़ͨ͠Γ w ి൪߸ͬΆ͍ͷΛݟ͚ͨΓ w 63-ͷύλʔϯΛมͨ͠Γ w ࢯͶͱ͔'
,ͱ͔ΞΧϯจࣈྻΛʮѪͯ͠Δʯ ʹஔͨ͠Γ ͍͍ͩͨݕࡧͱஔͩΑͱ
جຊϧʔϧ
ه๏؆୯Ͱ͢ w ී௨ͷจࣈͦͷจࣈͦͷͷΛද͢ w શͯͷจࣈͷՄೳੑ͕͋Δ w ྔࢦఆࢠͰɺલͷύλʔϯΛ܁Γฦ͢ճΛࢦఆ͢Δ w
͔ w ·͍ͨͬͺ͍ w ·͍ͨͬͺ͍ w ʢʣͰάϧʔϐϯά͢Δ͜ͱ͕Ͱ͖Δ ͍ͪΖʔ͞Μ͋ͨΓ͔Β“|” ͱ͔ {n,m} ͱ͔ ^,$ͱ͔ͦ͜ΒลʹಥͬࠐΈ͕ೖΔͱ͏Ε͍͕ͨ͠ͿΜೖΒͳ͍ɻ
؆୯؆୯
ਖ਼نදݱͷ ؾ࣋ͪ
ʜʁ
+BWBͷؾ࣋ͪʹͳΔ 㲈+BWB7.ͷؾ࣋ͪʹͳΔ
ਖ਼نදݱͷؾ࣋ͪʹͳΔ 㲈ਖ਼نදݱղऍܥͷؾ࣋ͪʹ ͳΔ
ਓίʔυΛ௨ͯ͠ػցͱ ͓͢Δ দӬ JVM લా ਖ਼نදݱ Τϯδϯ ਖ਼نදݱ Javaͷίʔυ
ίʔυΛݟͯͯμϝͩ ػցͷؾ࣋ͪʹͳΖ͏
ͱ͜ΖͰ
ਖ਼نදݱ ҰछͷΦʔτϚτϯͱͯ͠ ίϯύΠϧ͞ΕΔ
/'"ͱ%'" w /'" w ඇܾఆੑ༗ݶΦʔτϚτϯ w %'" w ܾఆੑ༗ݶΦʔτϚτϯ ΦʔτϚτϯͱͳΜͧతͳ͓͠Ζ͘ͳ͍ͷͰ͠ͳ͍ɻ
ͱΓ͋͑ͣঢ়ଶΛ࣋ͬͯͯͦΕ͕ೖྗʹԠͯ͡มΘΔͷΑͶతͳײ͡Ͱɻ
ਖ਼نදݱͷؾ࣋ͪʹͳΔ ਖ਼نදݱղऍܥͷؾ࣋ͪʹͳΔ ΦʔτϚτϯͷؾ࣋ͪʹͳΔ
ͳͬͯΈͨ
ΦʔτϚτϯͷͭΓʹͳͬͯ ਖ਼نදݱΛಡΈऔΔ
BC EF DIBS B DIBS C DIBS B
DIBS C HSPVQ lEFz DIBS B DIBS C RVFTUJPO HSPVQ lEFz ී௨ͷจࣈ ʮจࣈΛද͢ਖ਼نදݱʯͱͯ͠ॲཧ͢Δ ׅހʮάϧʔϓʯͱͯ͠ ׅހͷதͷจࣈྻΛͯ͠࠶ؼతʹॲཧ͢Δ ྔࢦఆࢠલͷύλʔϯΛ แઁ͢Δύλʔϯͱͯ͠ॲཧ͢Δ
͜ΕʹΑͬͯ ʮਖ਼نදݱʯͦͷͷ͕ ߏங͞ΕΔ
࡞ͬͯΈͨ
pythonͩΑ
ਖ਼نදݱ͕ݕࡧ͚ͩͷ༻ ్ͩͱ୭͕ܾΊͨͷ͔ TODO:࣋ͬͯߦ͖ํ
ਖ਼نදݱ͔ΒจࣈྻΛੜ ͍͍ͨͬͯ͠͡Όͳ͍
·ͱΊ
ਖ਼نදݱͷؾ࣋ͪΛཧղ͢Ε Α͍ਖ਼نදݱ͕ॻ͚Δ ʮܨ͕ͬͯͳ͍͡ΌΜʯͱ͍͏ಥͬࠐΈ৺ೖΔͣɻ
ϧʔϧͰʮcʯʢબʣͱ͔ \ ^Έ͍ͨͳྔࢦఆࢠɺ લํࢀরΛল͍ͨͷ ࣮͕͔͔ͬͨ͠ΒͰ͢ ͢Έ·ͤΜ Φν2
͝ਗ਼ௌ͋Γ͕ͱ͏͟͝ ͍·ͨ͠
ͱ͍͏͜ͱͰ Կ͔࣭ʁ