回答編集履歴
3
再追記、同前
test
CHANGED
@@ -38,7 +38,9 @@
|
|
38
38
|
(2) 最後の「タグでない部分」の処理をする。
|
39
39
|
|
40
40
|
```
|
41
|
+
:loop2
|
41
42
|
s/[0-9a-zA-Z0-9a-zA-Z]\([^<>]*\)$/\1/
|
43
|
+
t loop2
|
42
44
|
```
|
43
45
|
|
44
46
|
- どちらも、タグの部分とタグでない部分をグループ化して、置換結果に使っているのがおわかりでしょうか。
|
2
前質問で言及した繰り返し処理を追記
test
CHANGED
@@ -30,7 +30,9 @@
|
|
30
30
|
(1) 「タグでない部分<タグの部分>」の正規表現にマッチさせ、マッチしたすべての個所の「タグでない部分」の処理をする。
|
31
31
|
|
32
32
|
```
|
33
|
+
:loop
|
33
34
|
s/[0-9a-zA-Z0-9a-zA-Z]\([^<>]*\)\(<[^>][^>]*>\)/\1\2/g
|
35
|
+
tloop
|
34
36
|
```
|
35
37
|
|
36
38
|
(2) 最後の「タグでない部分」の処理をする。
|
1
誤字修正
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
[昨日のご質問](https://teratail.com/questions/49550)の関連質問かと思います。わざわざ質問を分けなくてもよかったと思います。というか、こまぎれ質問をなさると質問の背景が伝わりにくくなり、いい回答をもらえませんよ。
|
2
2
|
|
3
|
-
で、これまでのご質問からする
|
3
|
+
で、これまでのご質問からすると、タグの部分は変更せず、タグ以外の部分を置換・削除などしたいのですよね。
|
4
4
|
すると、タグの部分は、中身がどうなっているかは気にしなくていいですね。「『<』ではじまり、『>』でないものが続き、『>』でおわる」だけでいいはずです。
|
5
5
|
|
6
6
|
```
|
@@ -27,13 +27,13 @@
|
|
27
27
|
|
28
28
|
ですから、処理としては、次の2種類に集約されます。
|
29
29
|
|
30
|
-
1
|
30
|
+
(1) 「タグでない部分<タグの部分>」の正規表現にマッチさせ、マッチしたすべての個所の「タグでない部分」の処理をする。
|
31
31
|
|
32
32
|
```
|
33
33
|
s/[0-9a-zA-Z0-9a-zA-Z]\([^<>]*\)\(<[^>][^>]*>\)/\1\2/g
|
34
34
|
```
|
35
35
|
|
36
|
-
2
|
36
|
+
(2) 最後の「タグでない部分」の処理をする。
|
37
37
|
|
38
38
|
```
|
39
39
|
s/[0-9a-zA-Z0-9a-zA-Z]\([^<>]*\)$/\1/
|