回答編集履歴
5
修正
answer
CHANGED
@@ -45,16 +45,16 @@
|
|
45
45
|
```JavaScript
|
46
46
|
const convertDigitToMathematicalAlphanumericSymbols = src => {
|
47
47
|
const table = {
|
48
|
-
0: '(?:0|
|
48
|
+
0: '(?:0|????|????|????|????|????)',
|
49
|
-
1: '(?:1|
|
49
|
+
1: '(?:1|????|????|????|????|????)',
|
50
|
-
2: '(?:2|
|
50
|
+
2: '(?:2|????|????|????|????|????)',
|
51
|
-
3: '(?:3|
|
51
|
+
3: '(?:3|????|????|????|????|????)',
|
52
|
-
4: '(?:4|
|
52
|
+
4: '(?:4|????|????|????|????|????)',
|
53
|
-
5: '(?:5|
|
53
|
+
5: '(?:5|????|????|????|????|????)',
|
54
|
-
6: '(?:6|
|
54
|
+
6: '(?:6|????|????|????|????|????)',
|
55
|
-
7: '(?:7|
|
55
|
+
7: '(?:7|????|????|????|????|????)',
|
56
|
-
8: '(?:8|
|
56
|
+
8: '(?:8|????|????|????|????|????)',
|
57
|
-
9: '(?:9|
|
57
|
+
9: '(?:9|????|????|????|????|????)'
|
58
58
|
}
|
59
59
|
return src.replaceAll(/\d/g, a => table[a]);
|
60
60
|
};
|
4
追記
answer
CHANGED
@@ -38,4 +38,32 @@
|
|
38
38
|
}
|
39
39
|
```
|
40
40
|
|
41
|
-
上記コードで success が表示されます。やはり node v15.5.0 が対応していないようです。
|
41
|
+
上記コードで success が表示されます。やはり node v15.5.0 が対応していないようです。
|
42
|
+
|
43
|
+
## 追記
|
44
|
+
|
45
|
+
```JavaScript
|
46
|
+
const convertDigitToMathematicalAlphanumericSymbols = src => {
|
47
|
+
const table = {
|
48
|
+
0: '(?:0|0|????|????|????|????|????)',
|
49
|
+
1: '(?:1|1|????|????|????|????|????)',
|
50
|
+
2: '(?:2|2|????|????|????|????|????)',
|
51
|
+
3: '(?:3|3|????|????|????|????|????)',
|
52
|
+
4: '(?:4|4|????|????|????|????|????)',
|
53
|
+
5: '(?:5|5|????|????|????|????|????)',
|
54
|
+
6: '(?:6|6|????|????|????|????|????)',
|
55
|
+
7: '(?:7|7|????|????|????|????|????)',
|
56
|
+
8: '(?:8|8|????|????|????|????|????)',
|
57
|
+
9: '(?:9|9|????|????|????|????|????)'
|
58
|
+
}
|
59
|
+
return src.replaceAll(/\d/g, a => table[a]);
|
60
|
+
};
|
61
|
+
|
62
|
+
if ("????????日 ????????:????????".match(convertDigitToMathematicalAlphanumericSymbols("9"))) {
|
63
|
+
console.log("ありまぁす");
|
64
|
+
} else {
|
65
|
+
console.log("ありません");
|
66
|
+
}
|
67
|
+
```
|
68
|
+
|
69
|
+
キャラクターセットを使わない方針に変更しました。今度は大丈夫そうです。
|
3
追記
answer
CHANGED
@@ -28,4 +28,14 @@
|
|
28
28
|
|
29
29
|
## 追記
|
30
30
|
|
31
|
-
node v15.5.0 において、このコードは正常に動作せず "9" を与えても検索が成功します。原因は今のところ不明ですが、node が対応していないために一つの文字が複数の文字と解釈されている可能性があります。
|
31
|
+
node v15.5.0 において、このコードは正常に動作せず "9" を与えても検索が成功します。原因は今のところ不明ですが、node が対応していないために一つの文字が複数の文字と解釈されている可能性があります。
|
32
|
+
|
33
|
+
## 追記
|
34
|
+
|
35
|
+
```JavaScript
|
36
|
+
if ("????????日 ????????:????????".match(/[????]/)) {
|
37
|
+
console.log("success");
|
38
|
+
}
|
39
|
+
```
|
40
|
+
|
41
|
+
上記コードで success が表示されます。やはり node v15.5.0 が対応していないようです。
|
2
修正
answer
CHANGED
@@ -24,4 +24,8 @@
|
|
24
24
|
if ("????????日 ????????:????????".match(convertDigitToMathematicalAlphanumericSymbols("22"))) {
|
25
25
|
console.log("ありまぁす");
|
26
26
|
}
|
27
|
-
```
|
27
|
+
```
|
28
|
+
|
29
|
+
## 追記
|
30
|
+
|
31
|
+
node v15.5.0 において、このコードは正常に動作せず "9" を与えても検索が成功します。原因は今のところ不明ですが、node が対応していないために一つの文字が複数の文字と解釈されている可能性があります。
|
1
修正
answer
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
[数学英数字記号-ウィキペディア](https://en.wikipedia.org/wiki/Mathematical_Alphanumeric_Symbols)
|
4
4
|
|
5
|
-
検索文字列中に現れる 2 という文字を "[2????????????????????]" という文字列に置換し、あらため
|
5
|
+
検索文字列中に現れる 2 という文字を "[2????????????????????]" という文字列に置換し、あらためてそれを正規表現として解釈させると現実的なコードになると思います。
|
6
6
|
|
7
7
|
```JavaScript
|
8
8
|
const convertDigitToMathematicalAlphanumericSymbols = src => {
|
@@ -21,8 +21,6 @@
|
|
21
21
|
return src.replaceAll(/\d/g, a => table[a]);
|
22
22
|
};
|
23
23
|
|
24
|
-
console.log(convertDigitToMathematicalAlphanumericSymbols("12345"));
|
25
|
-
|
26
24
|
if ("????????日 ????????:????????".match(convertDigitToMathematicalAlphanumericSymbols("22"))) {
|
27
25
|
console.log("ありまぁす");
|
28
26
|
}
|