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

回答編集履歴

1

プログラムと実行例を追加

2021/01/06 12:35

投稿

ppaul
ppaul

スコア24672

answer CHANGED
@@ -4,4 +4,33 @@
4
4
 
5
5
  また、この質問は"定年"と"定年退職"だけについて回答すれば良いのでしょうか。それとも一般的に複数の文字列を指定した場合を含んだ質問なのでしょうか。
6
6
 
7
- 質問によって、ひとつの正規表現で見つけられるものもあれば、ある程度長いプログラムを書かないと出来ないものもあります。汎用的なコードを作れない可能性もあります。
7
+ 質問によって、ひとつの正規表現で見つけられるものもあれば、ある程度長いプログラムを書かないと出来ないものもあります。汎用的なコードを作れない可能性もあります。
8
+
9
+ john_doe_さんの希望に沿っているかどうかわかりませんが、回答の案を作りました。
10
+ 定年と定年退職を区別して全部取り出すと言う条件と、順序を取り替えても結果が同じという条件は満たしています。
11
+
12
+ ```pythn
13
+ re.findall('定年(?!退)|定年退職', elem)
14
+ re.findall('定年退職|定年(?!退)', elem)
15
+
16
+ ```
17
+ 実行してみます。
18
+ ```python
19
+ >>> re.findall('定年(?!退)|定年退職','定年になった山田さんは定年で退職しました')
20
+ ['定年', '定年']
21
+ >>> re.findall('定年(?!退)|定年退職','定年になった山田さんは定年退職しました')
22
+ ['定年', '定年退職']
23
+ >>> re.findall('定年(?!退)|定年退職','定年退職になった山田さんは定年で退職しました')
24
+ ['定年退職', '定年']
25
+ >>> re.findall('定年(?!退)|定年退職','定年退職になった山田さんは定年退職しました')
26
+ ['定年退職', '定年退職']
27
+ >>>
28
+ >>> re.findall('定年退職|定年(?!退)','定年になった山田さんは定年で退職しました')
29
+ ['定年', '定年']
30
+ >>> re.findall('定年退職|定年(?!退)','定年になった山田さんは定年退職しました')
31
+ ['定年', '定年退職']
32
+ >>> re.findall('定年退職|定年(?!退)','定年退職になった山田さんは定年で退職しました')
33
+ ['定年退職', '定年']
34
+ >>> re.findall('定年退職|定年(?!退)','定年退職になった山田さんは定年退職しました')
35
+ ['定年退職', '定年退職']
36
+ ```