Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
DIVE INTODIVE INTO
/regexp?//regexp?/
nasa9084nasa9084
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/d...
正規表現正規表現
Regular Expression
ある 規則 に適合する文字列を探すための記法
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-...
利点利点
一つの文字列で複数の文字列を表すことができる
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html...
例えば・・・例えば・・・
"a"で始まる
".txt"で終わる
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex....
用途用途
grep
page/pg/more/less
各種プログラミング言語
emacs/vim
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-p...
構成要素構成要素
通常文字
ほとんどの文字
特殊文字(メタ文字)
正規表現で特別な意味を持つ文字
→「正規表現の説明」≒「メタ文字の説明」
DIVE INTO <b><code>/regexp?/</code></b> file:///home...
基本と拡張基本と拡張
正規表現には大きく3つ
基本正規表現 (BRE)
grepなどのデフォルト
拡張正規表現 (ERE)
egrep, grep -Eなど
Perl正規表現
Perlを始めとするプログラミング言語
DIVE INTO <b><...
よくある書き方よくある書き方
/hogehoge/
デリミタ(区切り文字)で挟む
→Perlでの書き方
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi...
置換演算子(Perl)置換演算子(Perl)
s/hoge/piyo/
→hogeをpiyoに置き換える
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/dig...
メタ文字メタ文字
特別な意味を持つ文字
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-p...
..
NULL文字を除く任意の一文字
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pd...
**
直前の文字の0回以上回数の繰り返し
BREとEREで扱いが少し違う
BRE
先頭の*は通常文字として扱われる
ERE
文字だけではなく正規表現も使える
DIVE INTO <b><code>/regexp?/</code></b> fil...
^^
行の先頭・文字列の先頭
BRE
正規表現の先頭でのみメタ文字
ERE
どこでもメタ文字
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro...
$$
行の末尾・文字列の末尾
BRE
正規表現の末尾でのみメタ文字
ERE
どこでもメタ文字
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro...
エスケープ
直後のメタ文字を通常文字として扱う
または
通常文字と組み合わせてメタ文字とする
$500
C:
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/d...
[…][…]
ブラケット表現
[ ]の間に書いた文字のうち 一つと マッチする
- を使うと範囲指定もできる
先頭に ^ を書くと否定の意味
→[^ ]の間に書いた文字 以外と マッチする
DIVE INTO <b><code>/regexp?...
例例
[a-z]
英小文字にマッチ
[aeiou]
母音にマッチ
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex...
{m,n} {m,n}{m,n} {m,n}
インターバル表現
直前の文字のm回以上n回以下の繰り返し
BRE
{m,n}
ERE
{m,n}
DIVE INTO <b><code>/regexp?/</code></b> file:///ho...
EREで使えるメタ文字EREで使えるメタ文字
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?prin...
( )( )
グルーピング
文字列・正規表現をグループ化できる
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex....
++
直前の文字・正規表現の 1回以上の繰り返し
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?pr...
??
直前の文字・正規表現が0回または1回
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print...
例例
/regexp?/
→"regex", "regexp"にマッチ
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_re...
||
ORの意味
直前の正規表現または直後の正規表現に一致
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.ht...
例例
/read|write/
→"read", "write"にマッチ
/(P|p)ython/
→"Python", "python"にマッチ
DIVE INTO <b><code>/regexp?/</code></b> file:///...
文字クラス文字クラス
複数の文字をまとめたもの
→ブラケット表現のこと
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_re...
POSIX文字クラスPOSIX文字クラス
BRE
[[:hoge:]]
ERE
[:hoge:]
→これもブラケット表現と呼ぶ
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/...
文字クラス文字クラス
文字クラス 内容 等価な表現
[:alnum:] アルファベットと数字 [0-9a-zA-Z]
[:alpha:] アルファベット [a-zA-Z]
[:lower:] 小文字アルファベット [a-z]
[:upper:]...
文字型文字型
ブラケット表現の略記
文字型 内容
l 半角小文字アルファベット
u 半角大文字アルファベット
d 数字
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Drop...
後方参照後方参照
置換でよく使われる
EREでは仕様には無い
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.h...
xx
xは1,2,3,…
事前にで括ったグループを順に使える
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.h...
例1例1
'や"で囲まれた部分を探したい
/(['"]).*1/
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex...
例2例2
"¥900"や"¥50"の様な箇所をすべて"900円"や"50円"の形に直したい
→置換の検索で正規表現を使う
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dro...
使い方使い方
検索文字列
¥([:digit:]+)
置換文字列
1円
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_re...
非欲張り指定子非欲張り指定子
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
35...
欲張り指定子欲張り指定子
* , + , ? , {m,n} , {m,n}
→基本的に欲張り(最左最長一致)
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/...
どういうことか?どういうことか?
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
...
HTMLの編集HTMLの編集
<div>div</div>を<div>span</div>に変えたい
検索文字列
(</?).*(>)
置換文字列
1span2
DIVE INTO <b><code>/regexp?/</code></b> f...
perlを使ってやってみようperlを使ってやってみよう
$w = "<div>div</div>を<div>span</div>に変えたい!";
$w =~ s#(</?).*(>)#1span2#g;
print $w;
結果
<span>...
なんかちがう!なんかちがう!
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
40...
理由理由
一致する最長で選ぶ
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
41...
非欲張り指定子非欲張り指定子
欲張り指定子 : * , + , ? , {m,n} , {m,n}
→ 非欲張り指定子 : *? , +? , ?? , {m,n}? , {m,n}?
これで最短一致する
DIVE INTO <b><code>...
perlを使ってやってみよう ver.2perlを使ってやってみよう ver.2
$w = "<div>div</div>を<div>span</div>に変えたい!";
$w =~ s#(</?).*?(>)#1span2#g;
print ...
THINKING TIME!THINKING TIME!
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.htm...
例題をちょこっと例題をちょこっと
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/digi-poro/#5/into_regex.html?print-pdf
...
例題1例題1
以下にマッチする正規表現
Windows
WINDOWS
Windows95
WINDOWS95
Windows 95
WINDOWS 95
以下同様に
98
2000
XP
7
8
8.1
10
DIVE INTO <b><co...
回答例1回答例1
W(indows|INDOWS) ?(9[58]|2000|XP|7|8(.1)?|10)
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/d...
例題2例題2
<a href="hoge">hogehoge</a>
<a href="piyo">piyopiyo</a>
<a href="fuga">fugafuga</a>
↓
<a href="hoge" target="_blank...
回答例2回答例2
s#<(.+?)>(.+)<(.+)>#<1 target="_blank">2<3>#g
DIVE INTO <b><code>/regexp?/</code></b> file:///home/nasa/Dropbox/d...
Upcoming SlideShare
Loading in …5
×

DIVE INTO /regexp?/

219 views

Published on

DIVE INTO /regexp?/ at digiporo #5
http://digiporo.connpass.com/event/27012/
2016/03/20

Published in: Engineering
  • Login to see the comments

  • Be the first to like this

DIVE INTO /regexp?/

  1. 1. 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
  2. 2. 正規表現正規表現 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
  3. 3. 利点利点 一つの文字列で複数の文字列を表すことができる 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
  4. 4. 例えば・・・例えば・・・ "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
  5. 5. 用途用途 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
  6. 6. 構成要素構成要素 通常文字 ほとんどの文字 特殊文字(メタ文字) 正規表現で特別な意味を持つ文字 →「正規表現の説明」≒「メタ文字の説明」 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
  7. 7. 基本と拡張基本と拡張 正規表現には大きく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
  8. 8. よくある書き方よくある書き方 /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
  9. 9. 置換演算子(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
  10. 10. メタ文字メタ文字 特別な意味を持つ文字 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
  11. 11. .. 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
  12. 12. ** 直前の文字の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
  13. 13. ^^ 行の先頭・文字列の先頭 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
  14. 14. $$ 行の末尾・文字列の末尾 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
  15. 15. エスケープ 直後のメタ文字を通常文字として扱う または 通常文字と組み合わせてメタ文字とする $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
  16. 16. […][…] ブラケット表現 [ ]の間に書いた文字のうち 一つと マッチする - を使うと範囲指定もできる 先頭に ^ を書くと否定の意味 →[^ ]の間に書いた文字 以外と マッチする 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
  17. 17. 例例 [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
  18. 18. {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
  19. 19. 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
  20. 20. ( )( ) グルーピング 文字列・正規表現をグループ化できる 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
  21. 21. ++ 直前の文字・正規表現の 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
  22. 22. ?? 直前の文字・正規表現が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
  23. 23. 例例 /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
  24. 24. || 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
  25. 25. 例例 /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
  26. 26. 文字クラス文字クラス 複数の文字をまとめたもの →ブラケット表現のこと 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
  27. 27. 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
  28. 28. 文字クラス文字クラス 文字クラス 内容 等価な表現 [: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
  29. 29. 文字型文字型 ブラケット表現の略記 文字型 内容 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
  30. 30. 後方参照後方参照 置換でよく使われる 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
  31. 31. 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
  32. 32. 例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
  33. 33. 例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
  34. 34. 使い方使い方 検索文字列 ¥([: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
  35. 35. 非欲張り指定子非欲張り指定子 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
  36. 36. 欲張り指定子欲張り指定子 * , + , ? , {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
  37. 37. どういうことか?どういうことか? 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
  38. 38. 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
  39. 39. 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
  40. 40. なんかちがう!なんかちがう! 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
  41. 41. 理由理由 一致する最長で選ぶ 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
  42. 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
  43. 43. 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
  44. 44. 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
  45. 45. 例題をちょこっと例題をちょこっと 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
  46. 46. 例題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
  47. 47. 回答例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
  48. 48. 例題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
  49. 49. 回答例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

×