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
echizenyayota
July 29, 2017
Programming
0
170
基本正規表現における バックスラッシュの用途と matchメソッドの確認方法について
メタ文字のバックスラッシュの使い方や、JavaScriptにおける配列の見方や意味など
echizenyayota
July 29, 2017
Tweet
Share
More Decks by echizenyayota
See All by echizenyayota
日本語話者と英語話者のためのIT技術者交流コミュニティ_事始め_日本語_英語_.pdf
echizenyayota
0
410
外出自粛期間のおすすめ! オンラインサービスで 自由気ままな英語学習
echizenyayota
0
520
Visual Studio CodeでJavaScriptプログラミング
echizenyayota
0
300
他人のソースコードをすばやく読むコツ 項とJavaScriptの演算子
echizenyayota
0
130
ドットインストールの質問回答サービスで身につくプログラミング学習法
echizenyayota
0
140
「Webパフォーマンス改善セミナー」 概要説明
echizenyayota
1
64
JavaScriptの正規表現で リファラースパムを退治した話
echizenyayota
0
130
JavaScriptの新しい文法を学習しよう
echizenyayota
1
340
さくらのVPSでプラグインを使わないWordPressのバックアップ
echizenyayota
0
1.4k
Other Decks in Programming
See All in Programming
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
複雑なフォームに立ち向かう Next.js の技術選定
macchiitaka
2
110
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
540
Android端末で実現するオンデバイスLLM 2025
masayukisuda
1
150
AIを活用し、今後に備えるための技術知識 / Basic Knowledge to Utilize AI
kishida
22
5.8k
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
170
Putting The Genie in the Bottle - A Crash Course on running LLMs on Android
iurysza
0
140
🔨 小さなビルドシステムを作る
momeemt
4
680
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
270
Oracle Database Technology Night 92 Database Connection control FAN-AC
oracle4engineer
PRO
1
440
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
690
Performance for Conversion! 分散トレーシングでボトルネックを 特定せよ
inetand
0
160
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Site-Speed That Sticks
csswizardry
10
810
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Embracing the Ebb and Flow
colly
87
4.8k
KATA
mclloyd
32
14k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
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つ返る