teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

例の修正

2019/02/21 13:41

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -11,16 +11,17 @@
11
11
  ```Python
12
12
  import re
13
13
 
14
- src = '123abab456cdcdcd789abcd123'
15
14
 
15
+ src = '123abab456ababab789cdcd123'
16
+
16
- print(*re.split(r'([a-z]{2}){2,}', src))
17
+ print(*re.split(r'(ab){2,}', src))
17
- print(*re.split(r'(?:[a-z]{2}){2,}', src))
18
+ print(*re.split(r'(?:ab){2,}', src))
18
19
  ```
19
20
 
20
- **実行結果** [Wandbox](https://wandbox.org/permlink/rd4x87TkjY6UtKdS)
21
+ **実行結果** [Wandbox](https://wandbox.org/permlink/0tkWFI0D1Sjuxksg)
21
22
  ```
22
- 123 ab 456 cd 789 cd 123
23
+ 123 ab 456 ab 789cdcd123
23
- 123 456 789 123
24
+ 123 456 789cdcd123
24
25
  ```
25
26
 
26
27
  どうしても必要になるような場面は、それこそre.splitと併用するときくらいだと思います。

2

追記

2019/02/21 13:41

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -21,4 +21,6 @@
21
21
  ```
22
22
  123 ab 456 cd 789 cd 123
23
23
  123 456 789 123
24
- ```
24
+ ```
25
+
26
+ どうしても必要になるような場面は、それこそre.splitと併用するときくらいだと思います。

1

追記

2019/02/21 13:37

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -8,4 +8,17 @@
8
8
  > ちなみに、(?:)の?:はキャプチャを無効化するとあったのですが、そもそも?:についての情報が調べてもあまり出てこないので、?:はキャプチャを無効化すると覚えてしまうだけで大丈夫でしょうか?
9
9
 
10
10
  グループ化はしたいけれど、キャプチャしたくないときに使います。
11
+ ```Python
12
+ import re
13
+
14
+ src = '123abab456cdcdcd789abcd123'
15
+
11
- まさにre.splitの謎仕様を克服するのにうってつけです。
16
+ print(*re.split(r'([a-z]{2}){2,}', src))
17
+ print(*re.split(r'(?:[a-z]{2}){2,}', src))
18
+ ```
19
+
20
+ **実行結果** [Wandbox](https://wandbox.org/permlink/rd4x87TkjY6UtKdS)
21
+ ```
22
+ 123 ab 456 cd 789 cd 123
23
+ 123 456 789 123
24
+ ```