回答編集履歴
3
実行例に「/~username/hoge」といパターンを追加した。
test
CHANGED
@@ -20,6 +20,10 @@
|
|
20
20
|
|
21
21
|
(username),()
|
22
22
|
|
23
|
+
$ echo '/~username/hoge' | perl -ne 'if ( m#^/~([^/]+)/?(.*)# ) { print "($1),($2)\n" }'
|
24
|
+
|
25
|
+
(username),(hoge)
|
26
|
+
|
23
27
|
$ echo '/~username/hoge/hoge' | perl -ne 'if ( m#^/~([^/]+)/?(.*)# ) { print "($1),($2)\n" }'
|
24
28
|
|
25
29
|
(username),(hoge/hoge)
|
2
perlワンライナーの冗長な「$_」指定を削除した。
test
CHANGED
@@ -10,17 +10,17 @@
|
|
10
10
|
|
11
11
|
```
|
12
12
|
|
13
|
-
$ echo '/~username' | perl -ne 'if (
|
13
|
+
$ echo '/~username' | perl -ne 'if ( m#^/~([^/]+)/?(.*)# ) { print "($1),($2)\n" }'
|
14
14
|
|
15
15
|
(username
|
16
16
|
|
17
17
|
),()
|
18
18
|
|
19
|
-
$ echo '/~username/' | perl -ne 'if (
|
19
|
+
$ echo '/~username/' | perl -ne 'if ( m#^/~([^/]+)/?(.*)# ) { print "($1),($2)\n" }'
|
20
20
|
|
21
21
|
(username),()
|
22
22
|
|
23
|
-
$ echo '/~username/hoge/hoge' | perl -ne 'if (
|
23
|
+
$ echo '/~username/hoge/hoge' | perl -ne 'if ( m#^/~([^/]+)/?(.*)# ) { print "($1),($2)\n" }'
|
24
24
|
|
25
25
|
(username),(hoge/hoge)
|
26
26
|
|
1
表現ちょっと修正。
test
CHANGED
@@ -2,9 +2,9 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
「[^(文字リスト)]」という正規表現での「^」は、行頭という意味ではなく「文字リストに含まれないもの」です。つまり「/」で
|
5
|
+
「[^(文字リスト)]」という正規表現での「^」は、行頭という意味ではなく「(文字リスト)に含まれないもの」です。つまり「/」でない文字の1回以上の繰り返しという意味です。
|
6
6
|
|
7
|
-
|
7
|
+
その他の部分の解釈は合っていると思います。
|
8
8
|
|
9
9
|
|
10
10
|
|