回答編集履歴
3
誤記
test
CHANGED
@@ -44,7 +44,7 @@
|
|
44
44
|
|
45
45
|
```sh
|
46
46
|
|
47
|
-
$ t.perl
|
47
|
+
$ perl t.perl
|
48
48
|
|
49
49
|
in : a|"b|c|d"|e|"f|g"
|
50
50
|
|
2
訂正2
test
CHANGED
@@ -30,7 +30,11 @@
|
|
30
30
|
|
31
31
|
# $x =~ s/"([^"]*)"/'"' . $1 =~ s!\|!,!gr . '"'/ge;
|
32
32
|
|
33
|
+
# さらに訂正: 最短一致を用いた方がよいと思いました。
|
34
|
+
|
33
|
-
$x =~ s/("[^"]*")/$1 =~ s!\|!,!gr/ge;
|
35
|
+
# $x =~ s/("[^"]*")/$1 =~ s!\|!,!gr/ge;
|
36
|
+
|
37
|
+
$x =~ s/(".*?")/$1 =~ s!\|!,!gr/ge;
|
34
38
|
|
35
39
|
print 'out: ' . $x . "\n";
|
36
40
|
|
1
訂正
test
CHANGED
@@ -26,7 +26,11 @@
|
|
26
26
|
|
27
27
|
print 'in : ' . $x . "\n";
|
28
28
|
|
29
|
+
# 訂正: 下記は冗長すぎました。ダブルクォートもグループ中に含めた方が単純に書けますね
|
30
|
+
|
29
|
-
$x =~ s/"([^"]*)"/'"' . $1 =~ s!\|!,!gr . '"'/ge;
|
31
|
+
# $x =~ s/"([^"]*)"/'"' . $1 =~ s!\|!,!gr . '"'/ge;
|
32
|
+
|
33
|
+
$x =~ s/("[^"]*")/$1 =~ s!\|!,!gr/ge;
|
30
34
|
|
31
35
|
print 'out: ' . $x . "\n";
|
32
36
|
|