回答編集履歴

1

別解を示す。

2017/12/06 08:59

投稿

KojiDoi
KojiDoi

スコア13671

test CHANGED
@@ -19,3 +19,35 @@
19
19
  a2 = re.sub(' (?![)' , '[', a1)
20
20
 
21
21
  ```
22
+
23
+
24
+
25
+ 追記
26
+
27
+ 質問文の補足説明を見て、もう一度考えてみました。
28
+
29
+ 下記#1では、"数字または角開き括弧に続かない数字"の前に角開き括弧を置きます。
30
+
31
+ 下記#2では、"数字に続くカンマ"を角閉じ括弧に置換します。
32
+
33
+
34
+
35
+ ```python
36
+
37
+ import re
38
+
39
+ for a in ["[12, 34, 56]", "[12,34, 56]", "[7]", "a = 'aaa, bbb[12, 13, 14]. ccc.'"]:
40
+
41
+ a1=re.sub('(?<![[\d])(?=\d+)', '[', a) #1
42
+
43
+ a2=re.sub('(?<=\d),' , ']', a1) #2
44
+
45
+ print(a)
46
+
47
+ print(a1)
48
+
49
+ print(a2)
50
+
51
+ print('')
52
+
53
+ ```