rabbit-slide-znz-regexp-201403 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: []