回答編集履歴
6
例
answer
CHANGED
@@ -16,4 +16,19 @@
|
|
16
16
|
|
17
17
|
といったような感じです。どれがマッチしたのかはキャプチャ結果で取れるので、それで何に置換するかを分岐します。
|
18
18
|
|
19
|
-
もし最初の方針だと `%%%foo` にもマッチしなくなってしまうので、方針としてはこちらのほうが正しいです。
|
19
|
+
もし最初の方針だと `%%%foo` にもマッチしなくなってしまうので、方針としてはこちらのほうが正しいです。
|
20
|
+
|
21
|
+
```js
|
22
|
+
"消費税率10%%%boldマジでつらい%endbold".replace(/(%%)|(%bold)|(%endbold)/g, (str, ...m) => {
|
23
|
+
if (m[0]) {
|
24
|
+
return '%'
|
25
|
+
}
|
26
|
+
if (m[1]) {
|
27
|
+
return '<b>'
|
28
|
+
}
|
29
|
+
if (m[2]) {
|
30
|
+
return '</b>'
|
31
|
+
}
|
32
|
+
return str
|
33
|
+
})
|
34
|
+
```
|
5
追記の追記
answer
CHANGED
@@ -14,4 +14,6 @@
|
|
14
14
|
/(%%)|(%foo)|(%bar)/
|
15
15
|
```
|
16
16
|
|
17
|
-
といったような感じです。どれがマッチしたのかはキャプチャ結果で取れるので、それで何に置換するかを分岐します。
|
17
|
+
といったような感じです。どれがマッチしたのかはキャプチャ結果で取れるので、それで何に置換するかを分岐します。
|
18
|
+
|
19
|
+
もし最初の方針だと `%%%foo` にもマッチしなくなってしまうので、方針としてはこちらのほうが正しいです。
|
4
修正
answer
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
【追記】
|
10
10
|
|
11
|
-
エスケープシーケンスを実装するのであれば、**「エスケープシーケンスのエスケープ表現に予めマッチさせる」**のが正解だと思います。例えば `
|
11
|
+
エスケープシーケンスを実装するのであれば、**「エスケープシーケンスのエスケープ表現に予めマッチさせる」**のが正解だと思います。例えば `%` をエスケープシーケンスにするのであれば
|
12
12
|
|
13
13
|
```
|
14
14
|
/(%%)|(%foo)|(%bar)/
|
3
追記
answer
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
【追記】
|
10
10
|
|
11
|
-
エスケープシーケンスを実装するのであれば、**「エスケープシーケンスに予めマッチさせる」**のが正解だと思います。例えば `%%` をエスケープシーケンスにするのであれば
|
11
|
+
エスケープシーケンスを実装するのであれば、**「エスケープシーケンスのエスケープ表現に予めマッチさせる」**のが正解だと思います。例えば `%%` をエスケープシーケンスにするのであれば
|
12
12
|
|
13
13
|
```
|
14
14
|
/(%%)|(%foo)|(%bar)/
|
2
追記
answer
CHANGED
@@ -2,4 +2,16 @@
|
|
2
2
|
/(?<!&)&de/
|
3
3
|
```
|
4
4
|
|
5
|
-
ですね。「否定戻り読み」と言います。ただし、使えるエンジンと使えないエンジンがあるので注意してください。Web ブラウザで動作する JavaScript は無理ですね。
|
5
|
+
ですね。「否定戻り読み」と言います。ただし、使えるエンジンと使えないエンジンがあるので注意してください。Web ブラウザで動作する JavaScript は無理ですね。
|
6
|
+
|
7
|
+
----
|
8
|
+
|
9
|
+
【追記】
|
10
|
+
|
11
|
+
エスケープシーケンスを実装するのであれば、**「エスケープシーケンスに予めマッチさせる」**のが正解だと思います。例えば `%%` をエスケープシーケンスにするのであれば
|
12
|
+
|
13
|
+
```
|
14
|
+
/(%%)|(%foo)|(%bar)/
|
15
|
+
```
|
16
|
+
|
17
|
+
といったような感じです。どれがマッチしたのかはキャプチャ結果で取れるので、それで何に置換するかを分岐します。
|
1
訂正
answer
CHANGED
@@ -2,4 +2,4 @@
|
|
2
2
|
/(?<!&)&de/
|
3
3
|
```
|
4
4
|
|
5
|
-
ですね。「否定戻り読み」と言います。ただし、使えるエンジンと使えないエンジンがあるので注意してください。JavaScript は無理ですね。
|
5
|
+
ですね。「否定戻り読み」と言います。ただし、使えるエンジンと使えないエンジンがあるので注意してください。Web ブラウザで動作する JavaScript は無理ですね。
|