回答編集履歴

1

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

2021/01/06 12:35

投稿

ppaul
ppaul

スコア24670

test CHANGED
@@ -11,3 +11,61 @@
11
11
 
12
12
 
13
13
  質問によって、ひとつの正規表現で見つけられるものもあれば、ある程度長いプログラムを書かないと出来ないものもあります。汎用的なコードを作れない可能性もあります。
14
+
15
+
16
+
17
+ john_doe_さんの希望に沿っているかどうかわかりませんが、回答の案を作りました。
18
+
19
+ 定年と定年退職を区別して全部取り出すと言う条件と、順序を取り替えても結果が同じという条件は満たしています。
20
+
21
+
22
+
23
+ ```pythn
24
+
25
+ re.findall('定年(?!退)|定年退職', elem)
26
+
27
+ re.findall('定年退職|定年(?!退)', elem)
28
+
29
+
30
+
31
+ ```
32
+
33
+ 実行してみます。
34
+
35
+ ```python
36
+
37
+ >>> re.findall('定年(?!退)|定年退職','定年になった山田さんは定年で退職しました')
38
+
39
+ ['定年', '定年']
40
+
41
+ >>> re.findall('定年(?!退)|定年退職','定年になった山田さんは定年退職しました')
42
+
43
+ ['定年', '定年退職']
44
+
45
+ >>> re.findall('定年(?!退)|定年退職','定年退職になった山田さんは定年で退職しました')
46
+
47
+ ['定年退職', '定年']
48
+
49
+ >>> re.findall('定年(?!退)|定年退職','定年退職になった山田さんは定年退職しました')
50
+
51
+ ['定年退職', '定年退職']
52
+
53
+ >>>
54
+
55
+ >>> re.findall('定年退職|定年(?!退)','定年になった山田さんは定年で退職しました')
56
+
57
+ ['定年', '定年']
58
+
59
+ >>> re.findall('定年退職|定年(?!退)','定年になった山田さんは定年退職しました')
60
+
61
+ ['定年', '定年退職']
62
+
63
+ >>> re.findall('定年退職|定年(?!退)','定年退職になった山田さんは定年で退職しました')
64
+
65
+ ['定年退職', '定年']
66
+
67
+ >>> re.findall('定年退職|定年(?!退)','定年退職になった山田さんは定年退職しました')
68
+
69
+ ['定年退職', '定年退職']
70
+
71
+ ```