SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
DIVE INTODIVE INTO
/regexp?//regexp?/
nasa9084nasa9084
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
1 / 49 2016年03⽉22⽇ 00:42
正規表現正規表現
Regular Expression
ある 規則 に適合する文字列を探すための記法
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
2 / 49 2016年03⽉22⽇ 00:42
利点利点
一つの文字列で複数の文字列を表すことができる
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
3 / 49 2016年03⽉22⽇ 00:42
例えば・・・例えば・・・
"a"で始まる
".txt"で終わる
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
4 / 49 2016年03⽉22⽇ 00:42
用途用途
grep
page/pg/more/less
各種プログラミング言語
emacs/vim
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
5 / 49 2016年03⽉22⽇ 00:42
構成要素構成要素
通常文字
ほとんどの文字
特殊文字(メタ文字)
正規表現で特別な意味を持つ文字
→「正規表現の説明」≒「メタ文字の説明」
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
6 / 49 2016年03⽉22⽇ 00:42
基本と拡張基本と拡張
正規表現には大きく3つ
基本正規表現 (BRE)
grepなどのデフォルト
拡張正規表現 (ERE)
egrep, grep -Eなど
Perl正規表現
Perlを始めとするプログラミング言語
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
7 / 49 2016年03⽉22⽇ 00:42
よくある書き方よくある書き方
/hogehoge/
デリミタ(区切り文字)で挟む
→Perlでの書き方
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
8 / 49 2016年03⽉22⽇ 00:42
置換演算子(Perl)置換演算子(Perl)
s/hoge/piyo/
→hogeをpiyoに置き換える
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
9 / 49 2016年03⽉22⽇ 00:42
メタ文字メタ文字
特別な意味を持つ文字
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
10 / 49 2016年03⽉22⽇ 00:42
..
NULL文字を除く任意の一文字
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
11 / 49 2016年03⽉22⽇ 00:42
**
直前の文字の0回以上回数の繰り返し
BREとEREで扱いが少し違う
BRE
先頭の*は通常文字として扱われる
ERE
文字だけではなく正規表現も使える
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
12 / 49 2016年03⽉22⽇ 00:42
^^
行の先頭・文字列の先頭
BRE
正規表現の先頭でのみメタ文字
ERE
どこでもメタ文字
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
13 / 49 2016年03⽉22⽇ 00:42
$$
行の末尾・文字列の末尾
BRE
正規表現の末尾でのみメタ文字
ERE
どこでもメタ文字
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
14 / 49 2016年03⽉22⽇ 00:42
エスケープ
直後のメタ文字を通常文字として扱う
または
通常文字と組み合わせてメタ文字とする
$500
C:
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
15 / 49 2016年03⽉22⽇ 00:42
[…][…]
ブラケット表現
[ ]の間に書いた文字のうち 一つと マッチする
- を使うと範囲指定もできる
先頭に ^ を書くと否定の意味
→[^ ]の間に書いた文字 以外と マッチする
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
16 / 49 2016年03⽉22⽇ 00:42
例例
[a-z]
英小文字にマッチ
[aeiou]
母音にマッチ
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
17 / 49 2016年03⽉22⽇ 00:42
{m,n} {m,n}{m,n} {m,n}
インターバル表現
直前の文字のm回以上n回以下の繰り返し
BRE
{m,n}
ERE
{m,n}
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
18 / 49 2016年03⽉22⽇ 00:42
EREで使えるメタ文字EREで使えるメタ文字
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
19 / 49 2016年03⽉22⽇ 00:42
( )( )
グルーピング
文字列・正規表現をグループ化できる
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
20 / 49 2016年03⽉22⽇ 00:42
++
直前の文字・正規表現の 1回以上の繰り返し
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
21 / 49 2016年03⽉22⽇ 00:42
??
直前の文字・正規表現が0回または1回
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
22 / 49 2016年03⽉22⽇ 00:42
例例
/regexp?/
→"regex", "regexp"にマッチ
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
23 / 49 2016年03⽉22⽇ 00:42
||
ORの意味
直前の正規表現または直後の正規表現に一致
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
24 / 49 2016年03⽉22⽇ 00:42
例例
/read|write/
→"read", "write"にマッチ
/(P|p)ython/
→"Python", "python"にマッチ
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
25 / 49 2016年03⽉22⽇ 00:42
文字クラス文字クラス
複数の文字をまとめたもの
→ブラケット表現のこと
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
26 / 49 2016年03⽉22⽇ 00:42
POSIX文字クラスPOSIX文字クラス
BRE
[[:hoge:]]
ERE
[:hoge:]
→これもブラケット表現と呼ぶ
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
27 / 49 2016年03⽉22⽇ 00:42
文字クラス文字クラス
文字クラス 内容 等価な表現
[:alnum:] アルファベットと数字 [0-9a-zA-Z]
[:alpha:] アルファベット [a-zA-Z]
[:lower:] 小文字アルファベット [a-z]
[:upper:] 大文字アルファベット [A-Z]
[:digit:] 数字 [0-9]
[:xdigit:] 16進数数値 [0-9a-fA-F]
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
28 / 49 2016年03⽉22⽇ 00:42
文字型文字型
ブラケット表現の略記
文字型 内容
l 半角小文字アルファベット
u 半角大文字アルファベット
d 数字
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
29 / 49 2016年03⽉22⽇ 00:42
後方参照後方参照
置換でよく使われる
EREでは仕様には無い
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
30 / 49 2016年03⽉22⽇ 00:42
xx
xは1,2,3,…
事前にで括ったグループを順に使える
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
31 / 49 2016年03⽉22⽇ 00:42
例1例1
'や"で囲まれた部分を探したい
/(['"]).*1/
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
32 / 49 2016年03⽉22⽇ 00:42
例2例2
"¥900"や"¥50"の様な箇所をすべて"900円"や"50円"の形に直したい
→置換の検索で正規表現を使う
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
33 / 49 2016年03⽉22⽇ 00:42
使い方使い方
検索文字列
¥([:digit:]+)
置換文字列
1円
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
34 / 49 2016年03⽉22⽇ 00:42
非欲張り指定子非欲張り指定子
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
35 / 49 2016年03⽉22⽇ 00:42
欲張り指定子欲張り指定子
* , + , ? , {m,n} , {m,n}
→基本的に欲張り(最左最長一致)
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
36 / 49 2016年03⽉22⽇ 00:42
どういうことか?どういうことか?
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
37 / 49 2016年03⽉22⽇ 00:42
HTMLの編集HTMLの編集
<div>div</div>を<div>span</div>に変えたい
検索文字列
(</?).*(>)
置換文字列
1span2
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
38 / 49 2016年03⽉22⽇ 00:42
perlを使ってやってみようperlを使ってやってみよう
$w = "<div>div</div>を<div>span</div>に変えたい!";
$w =~ s#(</?).*(>)#1span2#g;
print $w;
結果
<span>に変えたい!
https://ideone.com/4LGPGm
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
39 / 49 2016年03⽉22⽇ 00:42
なんかちがう!なんかちがう!
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
40 / 49 2016年03⽉22⽇ 00:42
理由理由
一致する最長で選ぶ
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
41 / 49 2016年03⽉22⽇ 00:42
非欲張り指定子非欲張り指定子
欲張り指定子 : * , + , ? , {m,n} , {m,n}
→ 非欲張り指定子 : *? , +? , ?? , {m,n}? , {m,n}?
これで最短一致する
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
42 / 49 2016年03⽉22⽇ 00:42
perlを使ってやってみよう ver.2perlを使ってやってみよう ver.2
$w = "<div>div</div>を<div>span</div>に変えたい!";
$w =~ s#(</?).*?(>)#1span2#g;
print $w;
結果
<span>div</span>を<span>span</span>に変えたい!
https://ideone.com/R2lpII
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
43 / 49 2016年03⽉22⽇ 00:42
THINKING TIME!THINKING TIME!
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
44 / 49 2016年03⽉22⽇ 00:42
例題をちょこっと例題をちょこっと
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
45 / 49 2016年03⽉22⽇ 00:42
例題1例題1
以下にマッチする正規表現
Windows
WINDOWS
Windows95
WINDOWS95
Windows 95
WINDOWS 95
以下同様に
98
2000
XP
7
8
8.1
10
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
46 / 49 2016年03⽉22⽇ 00:42
回答例1回答例1
W(indows|INDOWS) ?(9[58]|2000|XP|7|8(.1)?|10)
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
47 / 49 2016年03⽉22⽇ 00:42
例題2例題2
<a href="hoge">hogehoge</a>
<a href="piyo">piyopiyo</a>
<a href="fuga">fugafuga</a>
↓
<a href="hoge" target="_blank">hogehoge</a>
<a href="piyo" target="_blank">piyopiyo</a>
<a href="fuga" target="_blank">fugafuga</a>
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
48 / 49 2016年03⽉22⽇ 00:42
回答例2回答例2
s#<(.+?)>(.+)<(.+)>#<1 target="_blank">2<3>#g
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
49 / 49 2016年03⽉22⽇ 00:42

Más contenido relacionado

Similar a DIVE INTO /regexp?/

WordPress+JSON-LDで構造化するこれからのマークアップ WordFes Nagoya 2016
WordPress+JSON-LDで構造化するこれからのマークアップ WordFes Nagoya 2016WordPress+JSON-LDで構造化するこれからのマークアップ WordFes Nagoya 2016
WordPress+JSON-LDで構造化するこれからのマークアップ WordFes Nagoya 2016Takami Kazuya
 
CRF を使った Web 本文抽出 for WebDB Forum 2011
CRF を使った Web 本文抽出 for WebDB Forum 2011CRF を使った Web 本文抽出 for WebDB Forum 2011
CRF を使った Web 本文抽出 for WebDB Forum 2011Shuyo Nakatani
 
GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法博文 斉藤
 
Write slides and books in VSCode + Markdown
Write slides and books in VSCode + MarkdownWrite slides and books in VSCode + Markdown
Write slides and books in VSCode + Markdownロフト くん
 
HTML/CSSを効率的にする メタ言語とツールのアレコレ
HTML/CSSを効率的にする メタ言語とツールのアレコレHTML/CSSを効率的にする メタ言語とツールのアレコレ
HTML/CSSを効率的にする メタ言語とツールのアレコレ知己 久保
 
debexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするにはdebexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするにはkenhys
 
PHPの今とこれから2019
PHPの今とこれから2019PHPの今とこれから2019
PHPの今とこれから2019Rui Hirokawa
 
Mvc conf session_2_shibamura
Mvc conf session_2_shibamuraMvc conf session_2_shibamura
Mvc conf session_2_shibamuraHiroshi Okunushi
 
Railsの開発環境作るぞ
Railsの開発環境作るぞRailsの開発環境作るぞ
Railsの開発環境作るぞYoichi Toyota
 
RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~Kazuya Wada
 
WordBench京都12月、WordCampUSからのWP REST APIな話
WordBench京都12月、WordCampUSからのWP REST APIな話WordBench京都12月、WordCampUSからのWP REST APIな話
WordBench京都12月、WordCampUSからのWP REST APIな話Hidetaka Okamoto
 
Pycon2014 django performance
Pycon2014 django performancePycon2014 django performance
Pycon2014 django performancehirokiky
 
WordPressと静的ページで構成する(特殊な)ハイブリッドサイト
WordPressと静的ページで構成する(特殊な)ハイブリッドサイトWordPressと静的ページで構成する(特殊な)ハイブリッドサイト
WordPressと静的ページで構成する(特殊な)ハイブリッドサイトHiromu Hasegawa
 
Live Coding で学ぶ C# 7
Live Coding で学ぶ C# 7Live Coding で学ぶ C# 7
Live Coding で学ぶ C# 7Takaaki Suzuki
 
WordPress 新マニュアル「HelpHub」の言語リンク用プラグイン作成顛末 - Making of HelpHub Language Select...
WordPress 新マニュアル「HelpHub」の言語リンク用プラグイン作成顛末 - Making of HelpHub Language Select...WordPress 新マニュアル「HelpHub」の言語リンク用プラグイン作成顛末 - Making of HelpHub Language Select...
WordPress 新マニュアル「HelpHub」の言語リンク用プラグイン作成顛末 - Making of HelpHub Language Select...Akira Tachibana
 
卒研発表
卒研発表卒研発表
卒研発表yayugu
 

Similar a DIVE INTO /regexp?/ (20)

WordPress+JSON-LDで構造化するこれからのマークアップ WordFes Nagoya 2016
WordPress+JSON-LDで構造化するこれからのマークアップ WordFes Nagoya 2016WordPress+JSON-LDで構造化するこれからのマークアップ WordFes Nagoya 2016
WordPress+JSON-LDで構造化するこれからのマークアップ WordFes Nagoya 2016
 
CRF を使った Web 本文抽出 for WebDB Forum 2011
CRF を使った Web 本文抽出 for WebDB Forum 2011CRF を使った Web 本文抽出 for WebDB Forum 2011
CRF を使った Web 本文抽出 for WebDB Forum 2011
 
Rake
RakeRake
Rake
 
GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法
 
Ruby開発者のためのHeroku入門
Ruby開発者のためのHeroku入門Ruby開発者のためのHeroku入門
Ruby開発者のためのHeroku入門
 
Write slides and books in VSCode + Markdown
Write slides and books in VSCode + MarkdownWrite slides and books in VSCode + Markdown
Write slides and books in VSCode + Markdown
 
HTML/CSSを効率的にする メタ言語とツールのアレコレ
HTML/CSSを効率的にする メタ言語とツールのアレコレHTML/CSSを効率的にする メタ言語とツールのアレコレ
HTML/CSSを効率的にする メタ言語とツールのアレコレ
 
debexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするにはdebexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするには
 
PHPの今とこれから2019
PHPの今とこれから2019PHPの今とこれから2019
PHPの今とこれから2019
 
Mvc conf session_2_shibamura
Mvc conf session_2_shibamuraMvc conf session_2_shibamura
Mvc conf session_2_shibamura
 
Railsの開発環境作るぞ
Railsの開発環境作るぞRailsの開発環境作るぞ
Railsの開発環境作るぞ
 
RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~
 
Vyatta 改造入門
Vyatta 改造入門Vyatta 改造入門
Vyatta 改造入門
 
WordBench京都12月、WordCampUSからのWP REST APIな話
WordBench京都12月、WordCampUSからのWP REST APIな話WordBench京都12月、WordCampUSからのWP REST APIな話
WordBench京都12月、WordCampUSからのWP REST APIな話
 
Pycon2014 django performance
Pycon2014 django performancePycon2014 django performance
Pycon2014 django performance
 
WordPressと静的ページで構成する(特殊な)ハイブリッドサイト
WordPressと静的ページで構成する(特殊な)ハイブリッドサイトWordPressと静的ページで構成する(特殊な)ハイブリッドサイト
WordPressと静的ページで構成する(特殊な)ハイブリッドサイト
 
Live Coding で学ぶ C# 7
Live Coding で学ぶ C# 7Live Coding で学ぶ C# 7
Live Coding で学ぶ C# 7
 
バグベアード入門
バグベアード入門バグベアード入門
バグベアード入門
 
WordPress 新マニュアル「HelpHub」の言語リンク用プラグイン作成顛末 - Making of HelpHub Language Select...
WordPress 新マニュアル「HelpHub」の言語リンク用プラグイン作成顛末 - Making of HelpHub Language Select...WordPress 新マニュアル「HelpHub」の言語リンク用プラグイン作成顛末 - Making of HelpHub Language Select...
WordPress 新マニュアル「HelpHub」の言語リンク用プラグイン作成顛末 - Making of HelpHub Language Select...
 
卒研発表
卒研発表卒研発表
卒研発表
 

Más de nasa9084

Webエンジニアのためのはじめてのredis.pdf
Webエンジニアのためのはじめてのredis.pdfWebエンジニアのためのはじめてのredis.pdf
Webエンジニアのためのはじめてのredis.pdfnasa9084
 
Webエンジニアのためのはじめてのredis
WebエンジニアのためのはじめてのredisWebエンジニアのためのはじめてのredis
Webエンジニアのためのはじめてのredisnasa9084
 
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredisnasa9084
 
Hubotをはじめる
HubotをはじめるHubotをはじめる
Hubotをはじめるnasa9084
 
Efsta student session
Efsta student sessionEfsta student session
Efsta student sessionnasa9084
 
初めてのSQL
初めてのSQL初めてのSQL
初めてのSQLnasa9084
 
Flowchart w/program structure
Flowchart w/program structureFlowchart w/program structure
Flowchart w/program structurenasa9084
 
HTTPのお話
HTTPのお話HTTPのお話
HTTPのお話nasa9084
 
エディタ戦争のお話
エディタ戦争のお話エディタ戦争のお話
エディタ戦争のお話nasa9084
 
Linuxディストリビューションのお話
Linuxディストリビューションのお話Linuxディストリビューションのお話
Linuxディストリビューションのお話nasa9084
 
Introduction of Programming language
Introduction of Programming languageIntroduction of Programming language
Introduction of Programming languagenasa9084
 

Más de nasa9084 (13)

Webエンジニアのためのはじめてのredis.pdf
Webエンジニアのためのはじめてのredis.pdfWebエンジニアのためのはじめてのredis.pdf
Webエンジニアのためのはじめてのredis.pdf
 
Webエンジニアのためのはじめてのredis
WebエンジニアのためのはじめてのredisWebエンジニアのためのはじめてのredis
Webエンジニアのためのはじめてのredis
 
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredis
 
Hubotをはじめる
HubotをはじめるHubotをはじめる
Hubotをはじめる
 
Efsta student session
Efsta student sessionEfsta student session
Efsta student session
 
LT!
LT!LT!
LT!
 
初めてのSQL
初めてのSQL初めてのSQL
初めてのSQL
 
Shell入門
Shell入門Shell入門
Shell入門
 
Flowchart w/program structure
Flowchart w/program structureFlowchart w/program structure
Flowchart w/program structure
 
HTTPのお話
HTTPのお話HTTPのお話
HTTPのお話
 
エディタ戦争のお話
エディタ戦争のお話エディタ戦争のお話
エディタ戦争のお話
 
Linuxディストリビューションのお話
Linuxディストリビューションのお話Linuxディストリビューションのお話
Linuxディストリビューションのお話
 
Introduction of Programming language
Introduction of Programming languageIntroduction of Programming language
Introduction of Programming language
 

DIVE INTO /regexp?/