rabbit-slide-znz-regexp-201403 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2342d5b1bf4825a13243c79aa39d58cd6bef385c
4
+ data.tar.gz: fbb3b93be7e01075afb94bf3ceebe288a43eeab4
5
+ SHA512:
6
+ metadata.gz: 588767a162ddccb6dcaaa0b72c9d739ca59a6fb1851cff2dc053eb07c38dd0c815c2e8be8d72fa33afaf9cdb1518f56def53ead50ca1baf99252801c6a8244d1
7
+ data.tar.gz: 098021d4903e2909d8d9c50db0633d6951dd608edb90c48ab72dc32a4850cb672d9837e5bb657ca072cd012f95f5af236a3f95f0a3d463c0a4aa1c14634920f6
data/.rabbit ADDED
@@ -0,0 +1 @@
1
+ regexp.rab
@@ -0,0 +1,28 @@
1
+ = 正規表現の先読みについて
2
+
3
+ 2014/03/29 の Ruby/Rails勉強会@関西 60th で発表したスライドです。
4
+
5
+ 最後のデモに使った Web アプリのソースは
6
+ https://gist.github.com/znz/9835956#file-regexp-201403-rb
7
+ です。
8
+
9
+ == 作者向け
10
+
11
+ === 表示
12
+
13
+ rake
14
+
15
+ === 公開
16
+
17
+ rake publish
18
+
19
+ == 閲覧者向け
20
+
21
+ === インストール
22
+
23
+ gem install rabbit-slide--regexp-201403
24
+
25
+ === 表示
26
+
27
+ rabbit rabbit-slide--regexp-201403.gem
28
+
@@ -0,0 +1,17 @@
1
+ require "rabbit/task/slide"
2
+
3
+ # Edit ./config.yaml to customize meta data
4
+
5
+ spec = nil
6
+ Rabbit::Task::Slide.new do |task|
7
+ spec = task.spec
8
+ # task.spec.files += Dir.glob("doc/**/*.*")
9
+ # task.spec.files -= Dir.glob("private/**/*.*")
10
+ # task.spec.add_runtime_dependency("YOUR THEME")
11
+ end
12
+
13
+ desc "Tag #{spec.version}"
14
+ task :tag do
15
+ sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
16
+ sh("git", "push", "--tags")
17
+ end
@@ -0,0 +1,19 @@
1
+ ---
2
+ id: regexp-201403
3
+ base_name: regexp
4
+ tags: []
5
+ presentation_date: 2014/03/29
6
+ version: 1.0.0
7
+ licenses: []
8
+ slideshare_id: regexp-201403
9
+ speaker_deck_id:
10
+ ustream_id:
11
+ vimeo_id:
12
+ youtube_id:
13
+ author:
14
+ markup_language: :rd
15
+ name: Kazuhiro NISHIYAMA
16
+ email: zn@mbf.nifty.com
17
+ rubygems_user: znz
18
+ slideshare_user: znzjp
19
+ speaker_deck_user: znz
@@ -0,0 +1,65 @@
1
+ = 正規表現の先読みについて
2
+
3
+ # : subtitle
4
+ # サブタイトル
5
+ : author
6
+ Kazuhiro NISHIYAMA
7
+ # : institution
8
+ # 所属
9
+ : content-source
10
+ Ruby/Rails勉強会@関西 60th
11
+ : date
12
+ 2014/03/29
13
+ : allotted-time
14
+ 10m
15
+ # : theme
16
+ # default
17
+
18
+ = 目的
19
+
20
+ /(?=foo)bar/
21
+
22
+ はなぜマッチしないのか?
23
+
24
+ * (({(?=foo)})) の部分が先読み
25
+ * foo と bar の両方を含む文字列にマッチすることを期待する?
26
+
27
+ = 正規表現の先読みとは?
28
+
29
+ ある位置から続く文字列が
30
+ ある部分式にマッチするならば
31
+ その位置にマッチする
32
+ という正規表現
33
+
34
+ http://docs.ruby-lang.org/ja/2.1.0/doc/spec=2fregexp.html
35
+
36
+ = 簡単に言うと
37
+
38
+ アンカーの一種で汎用的なもの
39
+
40
+ = アンカーとは?
41
+
42
+ アンカーは幅0の文字列にマッチするメタ文字列
43
+
44
+ * (({^})) 行頭にマッチ
45
+ * (({$})) 行末にマッチ
46
+ * (({\A})) 文字列の先頭にマッチ
47
+ * (({\z})) 文字列の末尾にマッチ
48
+
49
+ = つまり
50
+
51
+ * 幅を持たない
52
+ * gsub などで (({$&})) に入らない
53
+ * 後ろに続くパターンとマッチ開始位置が同じ
54
+
55
+ = 使用例 数字3桁区切り
56
+ parts[0].gsub!(
57
+ /(\d)(?=(\d\d\d)+(?!\d))/,
58
+ "\\1#{options[:delimiter]}")
59
+
60
+ https://github.com/rails/rails/blob/4-0-stable/activesupport/lib/active_support/number_helper.rb#L299
61
+ (number_to_delimited)
62
+
63
+ = デモ
64
+
65
+ https://gist.github.com/znz/9835956#file-regexp-201403-rb
metadata ADDED
@@ -0,0 +1,68 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-znz-regexp-201403
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Kazuhiro NISHIYAMA
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-04-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rabbit
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.0.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 2.0.2
27
+ description: |-
28
+ 2014/03/29 の Ruby/Rails勉強会@関西 60th で発表したスライドです。
29
+
30
+ 最後のデモに使った Web アプリのソースは
31
+ https://gist.github.com/znz/9835956#file-regexp-201403-rb
32
+ です。
33
+ email:
34
+ - zn@mbf.nifty.com
35
+ executables: []
36
+ extensions: []
37
+ extra_rdoc_files: []
38
+ files:
39
+ - ".rabbit"
40
+ - README.rd
41
+ - Rakefile
42
+ - config.yaml
43
+ - pdf/regexp-201403-regexp.pdf
44
+ - regexp.rab
45
+ homepage: http://slide.rabbit-shocker.org/authors/znz/regexp-201403/
46
+ licenses: []
47
+ metadata: {}
48
+ post_install_message:
49
+ rdoc_options: []
50
+ require_paths:
51
+ - lib
52
+ required_ruby_version: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ required_rubygems_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ requirements: []
63
+ rubyforge_project:
64
+ rubygems_version: 2.2.2
65
+ signing_key:
66
+ specification_version: 4
67
+ summary: "正規表現の先読みについて"
68
+ test_files: []