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.
- checksums.yaml +7 -0
- data/.rabbit +1 -0
- data/README.rd +28 -0
- data/Rakefile +17 -0
- data/config.yaml +19 -0
- data/pdf/regexp-201403-regexp.pdf +0 -0
- data/regexp.rab +65 -0
- metadata +68 -0
checksums.yaml
ADDED
@@ -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
|
data/README.rd
ADDED
@@ -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
|
+
|
data/Rakefile
ADDED
@@ -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
|
data/config.yaml
ADDED
@@ -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
|
Binary file
|
data/regexp.rab
ADDED
@@ -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: []
|