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
400
外出自粛期間のおすすめ! オンラインサービスで 自由気ままな英語学習
echizenyayota
0
500
Visual Studio CodeでJavaScriptプログラミング
echizenyayota
0
290
他人のソースコードをすばやく読むコツ 項とJavaScriptの演算子
echizenyayota
0
120
ドットインストールの質問回答サービスで身につくプログラミング学習法
echizenyayota
0
130
「Webパフォーマンス改善セミナー」 概要説明
echizenyayota
1
58
JavaScriptの正規表現で リファラースパムを退治した話
echizenyayota
0
120
JavaScriptの新しい文法を学習しよう
echizenyayota
1
340
さくらのVPSでプラグインを使わないWordPressのバックアップ
echizenyayota
0
1.4k
Other Decks in Programming
See All in Programming
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
1k
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
22
9k
Quand Symfony, ApiPlatform, OpenAI et LangChain s'allient pour exploiter vos PDF : de la théorie à la production…
ahmedbhs123
0
210
The Niche of CDK Grant オブジェクトって何者?/the-niche-of-cdk-what-isgrant-object
hassaku63
1
500
CDK引数設計道場100本ノック
badmintoncryer
2
370
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
2
650
Result型で“失敗”を型にするPHPコードの書き方
kajitack
5
980
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
750
Porting a visionOS App to Android XR
akkeylab
0
660
チームのテスト力を総合的に鍛えて品質、スピード、レジリエンスを共立させる/Testing approach that improves quality, speed, and resilience
goyoki
5
1k
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
240
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
970
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Agile that works and the tools we love
rasmusluckow
329
21k
Raft: Consensus for Rubyists
vanstee
140
7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Side Projects
sachag
455
42k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
740
Product Roadmaps are Hard
iamctodd
PRO
54
11k
It's Worth the Effort
3n
185
28k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
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つ返る