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

回答編集履歴

1

追記

2021/09/11 14:53

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -4,4 +4,23 @@
4
4
  ```
5
5
 
6
6
  ただしこの場合、括弧内に複数の文が含まれる場合はカバーできません。
7
- そのときの扱いについても検討の必要がありますね。
7
+ そのときの扱いについても検討の必要がありますね。
8
+
9
+ 書いてみた
10
+ ---
11
+ 上記問題をケアした方法。
12
+
13
+ ```Python
14
+ import re
15
+
16
+ txt = '腹が減った。だからマクドナルド(以下、マックという。)に行った。今週三度目(行き過ぎである。かなり。)のマック。'
17
+ sen = re.findall(r'(?:[^()()。]+|[((][^()()]*[))]+)*。', txt)
18
+ print(sen)
19
+ ```
20
+
21
+ **実行結果** [Wandbox](https://wandbox.org/permlink/VSozmAwzKFuWr7ov)
22
+ ```
23
+ ['腹が減った。', 'だからマクドナルド(以下、マックという。)に行った。', '今週三度目(行き過ぎである。かなり。)のマック。']
24
+ ```
25
+
26
+ さすがに括弧が入れ子になることは考慮していませんが。