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
160
基本正規表現における バックスラッシュの用途と matchメソッドの確認方法について
メタ文字のバックスラッシュの使い方や、JavaScriptにおける配列の見方や意味など
echizenyayota
July 29, 2017
Tweet
Share
More Decks by echizenyayota
See All by echizenyayota
日本語話者と英語話者のためのIT技術者交流コミュニティ_事始め_日本語_英語_.pdf
echizenyayota
0
320
外出自粛期間のおすすめ! オンラインサービスで 自由気ままな英語学習
echizenyayota
0
330
Visual Studio CodeでJavaScriptプログラミング
echizenyayota
0
220
他人のソースコードをすばやく読むコツ 項とJavaScriptの演算子
echizenyayota
0
110
ドットインストールの質問回答サービスで身につくプログラミング学習法
echizenyayota
0
100
「Webパフォーマンス改善セミナー」 概要説明
echizenyayota
1
49
JavaScriptの正規表現で リファラースパムを退治した話
echizenyayota
0
93
JavaScriptの新しい文法を学習しよう
echizenyayota
1
310
さくらのVPSでプラグインを使わないWordPressのバックアップ
echizenyayota
0
1.2k
Other Decks in Programming
See All in Programming
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
190
Tailwind CSSを本気でカスタマイズする方法
fsubal
2
230
VSCodeでのDatabricks開発もお勧めしたい/I would also recommend Databricks development with VSCode.
kazumain
0
240
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
420
Semantic search with Django and pgvector
pauloxnet
0
240
⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について
nearme_tech
22
15k
try! Swift Tokyo 2024のLT枠に採択されたプロポーザルを出すときに考えていたこと
ski
0
340
脱・初心者!脱・マネコン!AWS CDKを使ってみませんか!?
har1101
0
300
Folding Cheat Sheet #3
philipschwarz
PRO
0
110
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.6k
Elm 0.19.0 Changes
bkuhlmann
0
480
1BRC--Nerd Sniping the Java Community
gunnarmorling
0
300
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
356
22k
A Modern Web Designer's Workflow
chriscoyier
688
190k
Building Better People: How to give real-time feedback that sticks.
wjessup
354
18k
GraphQLとの向き合い方2022年版
quramy
31
12k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
115
18k
Producing Creativity
orderedlist
PRO
336
39k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
A designer walks into a library…
pauljervisheath
199
23k
Building Your Own Lightsaber
phodgson
98
5.7k
Principles of Awesome APIs and How to Build Them.
keavy
120
16k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
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つ返る