回答編集履歴
5
成形
answer
CHANGED
@@ -9,8 +9,7 @@
|
|
9
9
|
matchは先頭から探索します。ですので、4から始まることはあり得ません。
|
10
10
|
またできるだけ長くマッチしようとするので、小数点以下が途中で打ち切られることもありません。
|
11
11
|
|
12
|
-
途中から探索したい場合はre.searchを、
|
13
|
-
常に文字列全体とマッチしたい場合はre.fullmatchを使えます。
|
12
|
+
途中から探索したい場合はre.searchを、常に文字列全体とマッチしたい場合はre.fullmatchを使えます。
|
14
13
|
ただし今回の場合どれを選んでも結果は同じです。
|
15
14
|
|
16
15
|
---
|
4
追記
answer
CHANGED
@@ -4,6 +4,16 @@
|
|
4
4
|
このマッチの、1 からパターン中のグループ数まで、全ての**サブグループ**を含むタプルを返します。
|
5
5
|
|
6
6
|
---
|
7
|
+
> 私が考えた結果は ('24.1', '24.1632' , '4.1', '4.163', ...)
|
8
|
+
|
9
|
+
matchは先頭から探索します。ですので、4から始まることはあり得ません。
|
10
|
+
またできるだけ長くマッチしようとするので、小数点以下が途中で打ち切られることもありません。
|
11
|
+
|
12
|
+
途中から探索したい場合はre.searchを、
|
13
|
+
常に文字列全体とマッチしたい場合はre.fullmatchを使えます。
|
14
|
+
ただし今回の場合どれを選んでも結果は同じです。
|
15
|
+
|
16
|
+
---
|
7
17
|
なお m.group(0) とでもすれば、マッチした文字列全体が得られます。
|
8
18
|
|
9
19
|
```Python
|
3
追記
answer
CHANGED
@@ -4,4 +4,16 @@
|
|
4
4
|
このマッチの、1 からパターン中のグループ数まで、全ての**サブグループ**を含むタプルを返します。
|
5
5
|
|
6
6
|
---
|
7
|
-
なお m.group(0) とでもすれば、マッチした文字列全体が得られます。
|
7
|
+
なお m.group(0) とでもすれば、マッチした文字列全体が得られます。
|
8
|
+
|
9
|
+
```Python
|
10
|
+
>>> pattern = re.compile(r'(\d+).(\d+)')
|
11
|
+
>>>
|
12
|
+
>>> m = pattern.match(r'24.1632')
|
13
|
+
>>> for i in range(pattern.groups+1):
|
14
|
+
... print(i, m.group(i))
|
15
|
+
...
|
16
|
+
0 24.1632
|
17
|
+
1 24
|
18
|
+
2 1632
|
19
|
+
```
|
2
追記
answer
CHANGED
@@ -1,2 +1,7 @@
|
|
1
1
|
本来なら \d+.\d+ で充分なところ、 () でキャプチャを取っているからです。
|
2
|
+
このことはご参照のリファレンスにも、また違った表現で書いてありますね。
|
3
|
+
> #####Match.groups(default=None)
|
4
|
+
このマッチの、1 からパターン中のグループ数まで、全ての**サブグループ**を含むタプルを返します。
|
5
|
+
|
6
|
+
---
|
2
7
|
なお m.group(0) とでもすれば、マッチした文字列全体が得られます。
|
1
追記
answer
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
() でキャプチャを取っているからです。
|
1
|
+
本来なら \d+.\d+ で充分なところ、 () でキャプチャを取っているからです。
|
2
|
-
m.group(0) とでもすれば、マッチした文字列全体が得られます。
|
2
|
+
なお m.group(0) とでもすれば、マッチした文字列全体が得られます。
|