回答編集履歴
1
文言
answer
CHANGED
@@ -13,5 +13,5 @@
|
|
13
13
|
pattern3 = r'.*[Category:(.*?)(?:\|.*)'
|
14
14
|
```
|
15
15
|
|
16
|
-
非キャプチャ括弧 `(?:)` かキャプチャ括弧かというのはこの質問中では重要ではありません。`findall()`の結果に入るかどうかという違いだけです。
|
16
|
+
非キャプチャ括弧 `(?:)` かキャプチャ括弧かというのはこの質問中では重要ではありません。`findall()`の結果に入るかどうかという違いだけです。この場合 `(?:\|.*)`を `\|.*` にしても結果は同じです。
|
17
|
-
問題はその前の `.*?` です。できるだけ短くマッチする繰り返しなので、`pattern2`では後続の条件がないため常に0文字にマッチ、`pattern3`では後続の条件により `|` が出現するまでマッチします。
|
17
|
+
問題はその前の `.*?` です。**できるだけ短くマッチする**繰り返しなので、`pattern2`では後続の条件がないため常に0文字にマッチ、`pattern3`では後続の条件により `|` が出現するまでマッチします。
|