回答編集履歴

3

修正

2018/08/06 06:25

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -24,10 +24,12 @@
24
24
 
25
25
  ```Python
26
26
 
27
+ >>> src = '["Hello"] ["World"]'
28
+
27
- >>> dst = re.sub(r'["(.+)"]', r'\1', src)
29
+ >>> dst = re.sub(r'["(.+?)"]', r'\1', src)
28
30
 
29
31
  >>> print(dst)
30
32
 
31
- Hello
33
+ Hello World
32
34
 
33
35
  ```

2

修正

2018/08/06 06:25

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -18,17 +18,15 @@
18
18
 
19
19
  ---
20
20
 
21
- どうしても正規表現を使いたいなら、subよりmatchの方が適当かと。
21
+ ~~どうしても正規表現を使いたいなら、subよりmatchの方が適当かと。~~
22
+
23
+ 撤回。後方参照を使うと楽です。
22
24
 
23
25
  ```Python
24
26
 
25
- >>> m = re.match(r'["(.+)"]', src)
27
+ >>> dst = re.sub(r'["(.+)"]', r'\1', src)
26
28
 
27
- >>> assert m
28
-
29
- >>>
30
-
31
- >>> print(m.group(1))
29
+ >>> print(dst)
32
30
 
33
31
  Hello
34
32
 

1

追記

2018/08/06 06:10

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -13,3 +13,23 @@
13
13
 
14
14
 
15
15
  正規表現で上手くいかないのは、メタ文字である[を使っているからです。
16
+
17
+
18
+
19
+ ---
20
+
21
+ どうしても正規表現を使いたいなら、subよりmatchの方が適当かと。
22
+
23
+ ```Python
24
+
25
+ >>> m = re.match(r'["(.+)"]', src)
26
+
27
+ >>> assert m
28
+
29
+ >>>
30
+
31
+ >>> print(m.group(1))
32
+
33
+ Hello
34
+
35
+ ```