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
基本正規表現における バックスラッシュの用途と matchメソッドの確認方法について
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
echizenyayota
July 29, 2017
Programming
180
0
Share
基本正規表現における バックスラッシュの用途と matchメソッドの確認方法について
メタ文字のバックスラッシュの使い方や、JavaScriptにおける配列の見方や意味など
echizenyayota
July 29, 2017
More Decks by echizenyayota
See All by echizenyayota
日本語話者と英語話者のためのIT技術者交流コミュニティ_事始め_日本語_英語_.pdf
echizenyayota
0
470
外出自粛期間のおすすめ! オンラインサービスで 自由気ままな英語学習
echizenyayota
0
560
Visual Studio CodeでJavaScriptプログラミング
echizenyayota
0
340
他人のソースコードをすばやく読むコツ 項とJavaScriptの演算子
echizenyayota
0
130
ドットインストールの質問回答サービスで身につくプログラミング学習法
echizenyayota
0
150
「Webパフォーマンス改善セミナー」 概要説明
echizenyayota
1
76
JavaScriptの正規表現で リファラースパムを退治した話
echizenyayota
0
150
JavaScriptの新しい文法を学習しよう
echizenyayota
1
350
さくらのVPSでプラグインを使わないWordPressのバックアップ
echizenyayota
0
1.5k
Other Decks in Programming
See All in Programming
Running Swift without an OS
kishikawakatsumi
0
840
Swift Concurrency Type System
inamiy
1
540
実践CRDT
tamadeveloper
0
580
Claude Codeをカスタムして自分だけのClaude Codeを作ろう
terisuke
0
140
PDI: Como Alavancar Sua Carreira e Seu Negócio
marcelgsantos
0
120
Cache-moi si tu peux : patterns et pièges du cache en production - Devoxx France 2026 - Conférence
slecache
0
270
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
440
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
550
GoogleCloudとterraform完全に理解した
terisuke
1
110
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
620
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
790
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
180
Featured
See All Featured
Designing for Performance
lara
611
70k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
260
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Darren the Foodie - Storyboard
khoart
PRO
3
3.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Site-Speed That Sticks
csswizardry
13
1.2k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
99
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Deep Space Network (abreviated)
tonyrice
0
120
Transcript
基本正規表現における バックスラッシュの用途と matchメソッドの確認方法について 2017年7月19日(水)いろいろ初心者もくもく勉強会の日 in JUSO Coworking
よくあるバックスラッシュの例 • \n → 改行を表す。 • \t → タブを表す。 •
\d → 数字を表す。([0-9]と同じ)
メタ文字を打ち消すバックスラッシュの例 • \. → 「.」 • \* → 「*」 • \/\/
→「//」
I have two pens. <script> var i = 'I have
(two pens)'.match(/(two pen.)/)[0]; var j = 'I have (two pens.)'.match(/\(two pens\.\)/)[0]; </script>
パターンマッチの違い • i → “two pens”とマッチ • j → “
(two pens.)”とマッチ
JavaScriptにおけるパターンマッチの確認方法 末尾の[0]はなに?
デバッグコンソール <script> var i = 'I have (two pens)'.match(/(two pen.)/)[0];
var j = 'I have (two pens.)'.match(/\(two pens\.\)/)[0]; console.log(i); console.log(j); </script>
デバッグコンソールの結果 two pens (two pens.)
[0]をとってデバッグコンソール [ 'two pens', 'two pens', index: 8, input: 'I
have (two pens)' ] [ '(two pens.)', index: 7, input: 'I have (two pens.)' ]
matchメソッドの返り値 “全てのマッチを含む配列及び括弧内で捕獲された結果の配列、又はマッチが見つから なかった場合はnullを返します。” String.prototype.match() - JavaScript | MDN https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/St ring/match
[0]→配列の要素番目
配列の要素数 var k1 = 'I have (two pens)'.match(/two pens/); var
k = 'I have (two pens)'.match(/(two pen.)/); var k2 = 'I have (two pens)'.match(/(two) (pen.)/); console.log(k1); console.log(k); console.log(k2);
デバッグコンソールの結果 [ 'two pens', index: 8, input: 'I have (two
pens)' ] [ 'two pens', 'two pens', index: 8, input: 'I have (two pens)' ] [ 'two pens', 'two', 'pens', index: 8, input: 'I have (two pens)' ]
デバッグコンソール時のルール 「メタ文字として括弧を使った場合、配列の 1番目以降に括弧ごとのマッチ範囲の文字 列が格納される」
デバッグコンソールの解説(1行目) var k1 = 'I have (two pens)'.match(/two pens/); [
'two pens', index: 8, input: 'I have (two pens)' ] メタ文字としての丸カッコが使われていない。パターン マッチの値しか返ってこない
デバッグコンソールの解説(2行目) var k = 'I have (two pens)'.match(/(two pen.)/); [
'two pens', 'two pens', index: 8, input: 'I have (two pens)' ] メタ文字としての丸カッコが1つ使われている。パターン マッチの値とその範囲が1つ返る。
デバッグコンソールの解説(3行目) var k2 = 'I have (two pens)'.match(/(two) (pen.)/); [
'two pens', 'two', 'pens', index: 8, input: 'I have (two pens)' ] メタ文字としての丸カッコが2つ使われている。パターン マッチの値とその範囲が2つ返る