正規表現の先読みについて

8
正規表現の先読み について Kazuhiro�NISHIYAMA Ruby/Rails勉強会@関⻄�60th 2014/03/29

Upload: kazuhiro-nishiyama

Post on 28-May-2015

200 views

Category:

Documents


2 download

DESCRIPTION

2014/03/29 の Ruby/Rails勉強会@関西 60th で発表したスライドです。最後のデモに使った Web アプリのソースはhttps://gist.github.com/znz/9835956#file-regexp-201403-rbです。

TRANSCRIPT

Page 1: 正規表現の先読みについて

正規表現の先読みについて

Kazuhiro�NISHIYAMARuby/Rails勉強会@関⻄�60th

2014/03/29

Page 2: 正規表現の先読みについて

目的

������������

はなぜマッチしないのか?

��������の部分が先読み

foo�と�bar�の両⽅を含む⽂字列にマッチすることを期待する?

Page 3: 正規表現の先読みについて

正規表現の先読みとは?

�������������������������������������������

http://docs.ruby-lang.org/ja/2.1.0/doc/spec=2fregexp.html

Page 4: 正規表現の先読みについて

簡単に⾔うと

アンカーの⼀種で汎用的なもの

Page 5: 正規表現の先読みについて

アンカーとは?

アンカーは幅0の⽂字列にマッチするメタ⽂字列

��⾏頭にマッチ

��⾏末にマッチ

���⽂字列の先頭にマッチ

���⽂字列の末尾にマッチ

Page 6: 正規表現の先読みについて

つまり

幅を持たないgsub�などで����に⼊らない

後ろに続くパターンとマッチ開始位置が同じ

Page 7: 正規表現の先読みについて

使用例�数字3桁区切り

�����������������������������������������������������������������������

https://github.com/rails/rails/blob/4-0-stable/activesupport/lib/active̲support/number̲helper.rb#L299(number̲to̲delimited)

Page 8: 正規表現の先読みについて

デモ

https://gist.github.com/znz/9835956#file-regexp-201403-rb