回答編集履歴
5
修正
test
CHANGED
@@ -92,25 +92,25 @@
|
|
92
92
|
|
93
93
|
const table = {
|
94
94
|
|
95
|
-
0: '(?:0|
|
95
|
+
0: '(?:0|????|????|????|????|????)',
|
96
96
|
|
97
|
-
1: '(?:1|
|
97
|
+
1: '(?:1|????|????|????|????|????)',
|
98
98
|
|
99
|
-
2: '(?:2|
|
99
|
+
2: '(?:2|????|????|????|????|????)',
|
100
100
|
|
101
|
-
3: '(?:3|
|
101
|
+
3: '(?:3|????|????|????|????|????)',
|
102
102
|
|
103
|
-
4: '(?:4|
|
103
|
+
4: '(?:4|????|????|????|????|????)',
|
104
104
|
|
105
|
-
5: '(?:5|
|
105
|
+
5: '(?:5|????|????|????|????|????)',
|
106
106
|
|
107
|
-
6: '(?:6|
|
107
|
+
6: '(?:6|????|????|????|????|????)',
|
108
108
|
|
109
|
-
7: '(?:7|
|
109
|
+
7: '(?:7|????|????|????|????|????)',
|
110
110
|
|
111
|
-
8: '(?:8|
|
111
|
+
8: '(?:8|????|????|????|????|????)',
|
112
112
|
|
113
|
-
9: '(?:9|
|
113
|
+
9: '(?:9|????|????|????|????|????)'
|
114
114
|
|
115
115
|
}
|
116
116
|
|
4
追記
test
CHANGED
@@ -79,3 +79,59 @@
|
|
79
79
|
|
80
80
|
|
81
81
|
上記コードで success が表示されます。やはり node v15.5.0 が対応していないようです。
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
## 追記
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
```JavaScript
|
90
|
+
|
91
|
+
const convertDigitToMathematicalAlphanumericSymbols = src => {
|
92
|
+
|
93
|
+
const table = {
|
94
|
+
|
95
|
+
0: '(?:0|0|????|????|????|????|????)',
|
96
|
+
|
97
|
+
1: '(?:1|1|????|????|????|????|????)',
|
98
|
+
|
99
|
+
2: '(?:2|2|????|????|????|????|????)',
|
100
|
+
|
101
|
+
3: '(?:3|3|????|????|????|????|????)',
|
102
|
+
|
103
|
+
4: '(?:4|4|????|????|????|????|????)',
|
104
|
+
|
105
|
+
5: '(?:5|5|????|????|????|????|????)',
|
106
|
+
|
107
|
+
6: '(?:6|6|????|????|????|????|????)',
|
108
|
+
|
109
|
+
7: '(?:7|7|????|????|????|????|????)',
|
110
|
+
|
111
|
+
8: '(?:8|8|????|????|????|????|????)',
|
112
|
+
|
113
|
+
9: '(?:9|9|????|????|????|????|????)'
|
114
|
+
|
115
|
+
}
|
116
|
+
|
117
|
+
return src.replaceAll(/\d/g, a => table[a]);
|
118
|
+
|
119
|
+
};
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
if ("????????日 ????????:????????".match(convertDigitToMathematicalAlphanumericSymbols("9"))) {
|
124
|
+
|
125
|
+
console.log("ありまぁす");
|
126
|
+
|
127
|
+
} else {
|
128
|
+
|
129
|
+
console.log("ありません");
|
130
|
+
|
131
|
+
}
|
132
|
+
|
133
|
+
```
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
キャラクターセットを使わない方針に変更しました。今度は大丈夫そうです。
|
3
追記
test
CHANGED
@@ -59,3 +59,23 @@
|
|
59
59
|
|
60
60
|
|
61
61
|
node v15.5.0 において、このコードは正常に動作せず "9" を与えても検索が成功します。原因は今のところ不明ですが、node が対応していないために一つの文字が複数の文字と解釈されている可能性があります。
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
## 追記
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
```JavaScript
|
70
|
+
|
71
|
+
if ("????????日 ????????:????????".match(/[????]/)) {
|
72
|
+
|
73
|
+
console.log("success");
|
74
|
+
|
75
|
+
}
|
76
|
+
|
77
|
+
```
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
上記コードで success が表示されます。やはり node v15.5.0 が対応していないようです。
|
2
修正
test
CHANGED
@@ -51,3 +51,11 @@
|
|
51
51
|
}
|
52
52
|
|
53
53
|
```
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
## 追記
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
node v15.5.0 において、このコードは正常に動作せず "9" を与えても検索が成功します。原因は今のところ不明ですが、node が対応していないために一つの文字が複数の文字と解釈されている可能性があります。
|
1
修正
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
検索文字列中に現れる 2 という文字を "[2????????????????????]" という文字列に置換し、あらため
|
9
|
+
検索文字列中に現れる 2 という文字を "[2????????????????????]" という文字列に置換し、あらためてそれを正規表現として解釈させると現実的なコードになると思います。
|
10
10
|
|
11
11
|
|
12
12
|
|
@@ -44,10 +44,6 @@
|
|
44
44
|
|
45
45
|
|
46
46
|
|
47
|
-
console.log(convertDigitToMathematicalAlphanumericSymbols("12345"));
|
48
|
-
|
49
|
-
|
50
|
-
|
51
47
|
if ("????????日 ????????:????????".match(convertDigitToMathematicalAlphanumericSymbols("22"))) {
|
52
48
|
|
53
49
|
console.log("ありまぁす");
|