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

回答編集履歴

3

追記

2019/12/03 23:04

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -20,4 +20,14 @@
20
20
  moji = re.sub(r'\d{2}$', '', moji)
21
21
 
22
22
  print(moji)
23
- ```
23
+ ```
24
+
25
+ あるいは
26
+ ```Python
27
+ moji = "abcd_result99"
28
+ if m := re.fullmatch(r'[^_]*_(.+)\d{2}', moji):
29
+ print(m.group(1))
30
+ ```
31
+
32
+ ただし、代入演算子はPython3.8以降の実装です。
33
+ 対応していないようであれば m = re.fullmatch(...) と if m: を二行に分けて書けば良いです。

2

追記

2019/12/03 23:04

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -8,4 +8,16 @@
8
8
  print(moji)
9
9
  ```
10
10
 
11
- 行頭/行の末尾を表現するためには、アンカー(^及び$)を使えます。
11
+ 行頭/行の末尾を表現するためには、アンカー(^及び$)を使えます。
12
+
13
+ 追記
14
+ ---
15
+ 便乗。
16
+ ```Python
17
+ moji = "abcd_result99"
18
+
19
+ moji = re.sub(r'^[^_]*_', '', moji)
20
+ moji = re.sub(r'\d{2}$', '', moji)
21
+
22
+ print(moji)
23
+ ```

1

追記

2019/12/03 23:00

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -6,4 +6,6 @@
6
6
  moji = re.sub(末尾の数字二桁にマッチする正規表現, '', moji)
7
7
 
8
8
  print(moji)
9
- ```
9
+ ```
10
+
11
+ 行頭/行の末尾を表現するためには、アンカー(^及び$)を使えます。