回答編集履歴
24
テキスト追加
test
CHANGED
@@ -112,11 +112,17 @@
|
|
112
112
|
|
113
113
|
集合Bを、**要素を列挙していなくても、実質的に**表していることになっている、
|
114
114
|
|
115
|
-
あるいは、集合論の用語でいえば正規表現
|
115
|
+
あるいは、集合論の用語でいえば正規表現 ^[a-z]{3}$ は、集合Bの
|
116
116
|
|
117
|
-
**内包的記法**をプログラムコードとして書ける形にしたもの
|
117
|
+
**内包的記法**をプログラムコードとして書ける形にしたものである、というのが
|
118
118
|
|
119
|
-
|
119
|
+
私の正規表現の理解の仕方です。
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
※集合の「**内包的記法**」については、以下をご参照ください。
|
124
|
+
|
125
|
+
[集合の記述法(集合 - Wikipedia)](http://ja.wikipedia.org/wiki/%E9%9B%86%E5%90%88#.E9.9B.86.E5.90.88.E3.81.AE.E8.A8.98.E8.BF.B0.E6.B3.95)
|
120
126
|
|
121
127
|
|
122
128
|
|
23
テキスト修正
test
CHANGED
@@ -114,9 +114,9 @@
|
|
114
114
|
|
115
115
|
あるいは、集合論の用語でいえば正規表現 "^[a-z]{3}$" が、集合Bの
|
116
116
|
|
117
|
-
**内包的記法**をプログラムコード
|
117
|
+
**内包的記法**をプログラムコードとして書ける形にしたものになっている、
|
118
118
|
|
119
|
-
正規表現の理解の仕方です。
|
119
|
+
というのが私の正規表現の理解の仕方です。
|
120
120
|
|
121
121
|
|
122
122
|
|
22
テキスト修正
test
CHANGED
@@ -114,7 +114,9 @@
|
|
114
114
|
|
115
115
|
あるいは、集合論の用語でいえば正規表現 "^[a-z]{3}$" が、集合Bの
|
116
116
|
|
117
|
-
**内包的
|
117
|
+
**内包的記法**をプログラムコードで書ける形にしたもの、というのが私の
|
118
|
+
|
119
|
+
正規表現の理解の仕方です。
|
118
120
|
|
119
121
|
|
120
122
|
|
21
テキスト修正
test
CHANGED
@@ -112,7 +112,9 @@
|
|
112
112
|
|
113
113
|
集合Bを、**要素を列挙していなくても、実質的に**表していることになっている、
|
114
114
|
|
115
|
+
あるいは、集合論の用語でいえば正規表現 "^[a-z]{3}$" が、集合Bの
|
116
|
+
|
115
|
-
というのが、私の
|
117
|
+
**内包的定義**になっている、というのが、私の正規表現の理解の仕方です。
|
116
118
|
|
117
119
|
|
118
120
|
|
20
テキスト修正
test
CHANGED
@@ -64,7 +64,7 @@
|
|
64
64
|
|
65
65
|
という言葉を使って、「集合Aの要素として"50"や"52"が、**生成される**」という
|
66
66
|
|
67
|
-
イメージを持つこと
|
67
|
+
イメージを持つことが肝心だろうと思います。
|
68
68
|
|
69
69
|
この例だと、条件にあう文字列の個数は、つまり集合Aの要素数は5個と簡単に
|
70
70
|
|
19
テキスト修正
test
CHANGED
@@ -138,7 +138,7 @@
|
|
138
138
|
|
139
139
|
以上、正規表現をマスターする考え方(のひとつ)として、
|
140
140
|
|
141
|
-
> 正規表現とは、ある条件を満たす文字列の集合(を文字列で表現したもの)
|
141
|
+
> 正規表現とは、ある条件を満たす文字列の集合(を文字列で表現したもの)である。
|
142
142
|
|
143
143
|
|
144
144
|
|
18
テキスト修正
test
CHANGED
@@ -138,7 +138,7 @@
|
|
138
138
|
|
139
139
|
以上、正規表現をマスターする考え方(のひとつ)として、
|
140
140
|
|
141
|
-
> 正規表現
|
141
|
+
> 正規表現とは、ある条件を満たす文字列の集合(を文字列で表現したもの)
|
142
142
|
|
143
143
|
|
144
144
|
|
17
テキスト修正
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
**ある条件
|
21
|
+
**ある条件を満たす文字列の集合**(を 、文字列で表現したもの)
|
22
22
|
|
23
23
|
|
24
24
|
|
@@ -120,7 +120,7 @@
|
|
120
120
|
|
121
121
|
|
122
122
|
|
123
|
-
**ある条件
|
123
|
+
**ある条件を満たす文字列の集合**(を、文字列で表現したもの)
|
124
124
|
|
125
125
|
|
126
126
|
|
@@ -128,7 +128,7 @@
|
|
128
128
|
|
129
129
|
|
130
130
|
|
131
|
-
**ある条件
|
131
|
+
**ある条件を満たす文字列を含む文字列の集合**(を、文字列で表現したもの)
|
132
132
|
|
133
133
|
|
134
134
|
|
16
テキスト修正
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
**ある条件にマッチする文字列の集合を 、文字列で表現したもの
|
21
|
+
**ある条件にマッチする文字列の集合**(を 、文字列で表現したもの)
|
22
22
|
|
23
23
|
|
24
24
|
|
@@ -120,7 +120,7 @@
|
|
120
120
|
|
121
121
|
|
122
122
|
|
123
|
-
**ある条件にマッチする文字列の集合を、文字列で表現したもの
|
123
|
+
**ある条件にマッチする文字列の集合**(を、文字列で表現したもの)
|
124
124
|
|
125
125
|
|
126
126
|
|
@@ -128,7 +128,7 @@
|
|
128
128
|
|
129
129
|
|
130
130
|
|
131
|
-
**ある条件にマッチする文字列を含む文字列の集合を、文字列で表現したもの
|
131
|
+
**ある条件にマッチする文字列を含む文字列の集合**(を、文字列で表現したもの)
|
132
132
|
|
133
133
|
|
134
134
|
|
@@ -136,7 +136,7 @@
|
|
136
136
|
|
137
137
|
|
138
138
|
|
139
|
-
以上、正規表現をマスターする
|
139
|
+
以上、正規表現をマスターする考え方(のひとつ)として、
|
140
140
|
|
141
141
|
> 正規表現「^ ・・・ $」 は、条件「・・・」を満たす文字列の集合を表している。
|
142
142
|
|
15
テキスト修正
test
CHANGED
@@ -138,9 +138,7 @@
|
|
138
138
|
|
139
139
|
以上、正規表現をマスターする道しるべ(のひとつ)として、
|
140
140
|
|
141
|
-
> 「^ ・・・ $」 は、条件「・・・」を満たす文字列の集合を表して
|
141
|
+
> 正規表現「^ ・・・ $」 は、条件「・・・」を満たす文字列の集合を表している。
|
142
|
-
|
143
|
-
> このときの条件の書き方のルールのことを正規表現という。
|
144
142
|
|
145
143
|
|
146
144
|
|
14
テキスト修正
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
**ある条件にマッチする文字列の集合を 、文字列で表現
|
21
|
+
**ある条件にマッチする文字列の集合を 、文字列で表現したもの**
|
22
22
|
|
23
23
|
|
24
24
|
|
@@ -120,7 +120,7 @@
|
|
120
120
|
|
121
121
|
|
122
122
|
|
123
|
-
**ある条件にマッチする文字列の集合を、文字列で表現
|
123
|
+
**ある条件にマッチする文字列の集合を、文字列で表現したもの**
|
124
124
|
|
125
125
|
|
126
126
|
|
@@ -128,7 +128,7 @@
|
|
128
128
|
|
129
129
|
|
130
130
|
|
131
|
-
**ある条件にマッチする文字列を含む文字列の集合を、文字列で表現
|
131
|
+
**ある条件にマッチする文字列を含む文字列の集合を、文字列で表現したもの**
|
132
132
|
|
133
133
|
|
134
134
|
|
13
テキスト修正
test
CHANGED
@@ -10,11 +10,13 @@
|
|
10
10
|
|
11
11
|
「^ で始まり、$で終わるもの」
|
12
12
|
|
13
|
+
に話を限定させてください。つまり、まずは**正規表現「^ ・・・ $」とは何か?**という問い
|
14
|
+
|
15
|
+
から始めます。
|
16
|
+
|
13
|
-
に
|
17
|
+
これに対する私の答えは、
|
14
18
|
|
15
19
|
|
16
|
-
|
17
|
-
正規表現 ^ ・・・ $ とは何かという質問への、私の回答は、
|
18
20
|
|
19
21
|
**ある条件にマッチする文字列の集合を 、文字列で表現するための、書き方のお約束**
|
20
22
|
|
12
誤字修正
test
CHANGED
@@ -76,7 +76,7 @@
|
|
76
76
|
|
77
77
|
```
|
78
78
|
|
79
|
-
というふうに書けますが、もっとずっと要素数の多い集合や、(
|
79
|
+
というふうに書けますが、もっとずっと要素数の多い集合や、(可算ではあるが)無限個の
|
80
80
|
|
81
81
|
要素を持つ集合も考えられますよね。たとえば、集合Bを
|
82
82
|
|
11
テキスト修正
test
CHANGED
@@ -76,9 +76,9 @@
|
|
76
76
|
|
77
77
|
```
|
78
78
|
|
79
|
-
というふうに書けますが、もっとずっと要素数の多い集合
|
79
|
+
というふうに書けますが、もっとずっと要素数の多い集合や、(加算ではあるが)無限個の
|
80
80
|
|
81
|
-
たとえば、集合Bを
|
81
|
+
要素を持つ集合も考えられますよね。たとえば、集合Bを
|
82
82
|
|
83
83
|
|
84
84
|
|
10
テキスト修正
test
CHANGED
@@ -106,9 +106,9 @@
|
|
106
106
|
|
107
107
|
```
|
108
108
|
|
109
|
-
と書けまして(javaでは、前後の/ は不要です。)、この regExpOfBが
|
109
|
+
と書けまして(javaでは、前後の/ は不要です。)、この regExpOfB が
|
110
110
|
|
111
|
-
集合Bを、要素を列挙していなくても
|
111
|
+
集合Bを、**要素を列挙していなくても、実質的に**表していることになっている、
|
112
112
|
|
113
113
|
というのが、私の考え方です。
|
114
114
|
|
9
テキスト修正
test
CHANGED
@@ -118,7 +118,7 @@
|
|
118
118
|
|
119
119
|
|
120
120
|
|
121
|
-
**ある条件
|
121
|
+
**ある条件にマッチする文字列の集合を、文字列で表現するための、書き方のお約束**
|
122
122
|
|
123
123
|
|
124
124
|
|
8
テキスト修正
test
CHANGED
@@ -58,9 +58,11 @@
|
|
58
58
|
|
59
59
|
を左から右へ読み進めるにしたがって、今の例でいうと、”50” や”52”といった文字列が、
|
60
60
|
|
61
|
-
「集合Aの要素として**生み出される**」
|
61
|
+
「集合Aの要素として**生み出される**」もしくは、よりプログラマーっぽい「生成される」
|
62
62
|
|
63
|
+
という言葉を使って、「集合Aの要素として"50"や"52"が、**生成される**」という
|
64
|
+
|
63
|
-
|
65
|
+
イメージを持つことかと思います。
|
64
66
|
|
65
67
|
この例だと、条件にあう文字列の個数は、つまり集合Aの要素数は5個と簡単に
|
66
68
|
|
7
テキスト修正
test
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
正規表現 ^ ・・・ $ とは何かという質問への、私の回答は、
|
18
18
|
|
19
|
-
**ある条件
|
19
|
+
**ある条件にマッチする文字列の集合を 、文字列で表現するための、書き方のお約束**
|
20
20
|
|
21
21
|
|
22
22
|
|
6
テキスト修正
test
CHANGED
@@ -90,7 +90,7 @@
|
|
90
90
|
|
91
91
|
```lang-<java>
|
92
92
|
|
93
|
-
String[] arrayOfB = { “aaa”, “aab” … , “zzz” }; //
|
93
|
+
String[] arrayOfB = { “aaa”, “aab” … , “zzz” }; // 17576個、全部並べて書きます?
|
94
94
|
|
95
95
|
```
|
96
96
|
|
5
テキスト修正
test
CHANGED
@@ -90,7 +90,7 @@
|
|
90
90
|
|
91
91
|
```lang-<java>
|
92
92
|
|
93
|
-
String[] arrayOfB = { “aaa”, “aab” … , “zzz” }; //こんなふうに全部並べて書けるけど
|
93
|
+
String[] arrayOfB = { “aaa”, “aab” … , “zzz” }; //こんなふうに全部並べて書けるけど^_^;
|
94
94
|
|
95
95
|
```
|
96
96
|
|
4
テキスト修正
test
CHANGED
@@ -10,13 +10,11 @@
|
|
10
10
|
|
11
11
|
「^ で始まり、$で終わるもの」
|
12
12
|
|
13
|
-
に話を限定させてください。
|
13
|
+
に話を限定させてください。
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
正規表現 ^ ・・・ $ とは何かという、私の回答は
|
17
|
+
正規表現 ^ ・・・ $ とは何かという質問への、私の回答は、
|
18
|
-
|
19
|
-
|
20
18
|
|
21
19
|
**ある条件「・・・」にマッチする文字列の集合を 、文字列で表現するための、書き方のお約束**
|
22
20
|
|
3
テキスト修正
test
CHANGED
@@ -4,11 +4,9 @@
|
|
4
4
|
|
5
5
|
に対して、きちんと自分なりに自信のある答えを得るには、やはり「[詳説 正規表現](http://www.amazon.co.jp/dp/4873113598)」あたりを
|
6
6
|
|
7
|
-
ガッツリ読むのが良いと思いますが、以下に、あくまで私個人の
|
7
|
+
ガッツリ読むのが良いと思いますが、以下に、あくまで私個人のイメージを書かせて頂きます。
|
8
8
|
|
9
|
-
書かせて頂きます。
|
10
|
-
|
11
|
-
|
9
|
+
説明のための便宜上、様々な正規表現の中でも、まずは
|
12
10
|
|
13
11
|
「^ で始まり、$で終わるもの」
|
14
12
|
|
2
テキスト修正
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
に対して、きちんと自分なりに自信のある答えを得るには、やはり「[詳説 正規表現](http://www.amazon.co.jp/dp/4873113598)」あたりを
|
6
6
|
|
7
|
-
ガッツリ読む
|
7
|
+
ガッツリ読むのが良いと思いますが、以下に、あくまで私個人のざっくりなイメージを
|
8
8
|
|
9
9
|
書かせて頂きます。
|
10
10
|
|
1
テキスト修正
test
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
> 「正規表現」とは結局なになのか?
|
4
4
|
|
5
|
-
に対して、きちんと自分なりの答えを得るには、やはり「[詳説 正規表現](http://www.amazon.co.jp/dp/4873113598)」
|
5
|
+
に対して、きちんと自分なりに自信のある答えを得るには、やはり「[詳説 正規表現](http://www.amazon.co.jp/dp/4873113598)」あたりを
|
6
6
|
|
7
|
-
|
7
|
+
ガッツリ読むしかないとは思いますので、以下は、あくまで私個人のざっくりなイメージを
|
8
8
|
|
9
|
-
|
9
|
+
書かせて頂きます。
|
10
10
|
|
11
11
|
このイメージを説明するために、様々な正規表現の中でも、まずは
|
12
12
|
|