回答編集履歴
5
文字不足を修正
test
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
文字列Targetが,正規表現の記述に用いる特殊な文字(何て呼ぶのかわからないけど)を含む場合を考慮していない.
|
16
16
|
|
17
|
-
Targetの内容次第では,正規表現の記述して間違った文字列になってしまい,ArgumentExceptionが発生する.
|
17
|
+
Targetの内容次第では,正規表現の記述として間違った文字列になってしまい,ArgumentExceptionが発生する.
|
18
18
|
|
19
19
|
|
20
20
|
|
4
ダメな点を記述
test
CHANGED
@@ -7,6 +7,14 @@
|
|
7
7
|
```
|
8
8
|
|
9
9
|
とかでそこそこいけませんか?
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
↑コメントにて,問題点ご指摘を頂きました :
|
14
|
+
|
15
|
+
文字列Targetが,正規表現の記述に用いる特殊な文字(何て呼ぶのかわからないけど)を含む場合を考慮していない.
|
16
|
+
|
17
|
+
Targetの内容次第では,正規表現の記述して間違った文字列になってしまい,ArgumentExceptionが発生する.
|
10
18
|
|
11
19
|
|
12
20
|
|
3
注釈追加
test
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
if( word.StartsWith(Target) && Regex.IsMatch(word, @"~[1-9][0-9]{0,3}$") )
|
28
28
|
|
29
|
-
{
|
29
|
+
{//"aaa~2~99"とか"aaa ~125"とかもここに入ってくる
|
30
30
|
|
31
31
|
Console.Write( word );
|
32
32
|
|
2
追記
test
CHANGED
@@ -7,3 +7,41 @@
|
|
7
7
|
```
|
8
8
|
|
9
9
|
とかでそこそこいけませんか?
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
---
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
うーん,正規表現だけで抽出する方法は,正直私にはわかりませんでした.
|
18
|
+
|
19
|
+
こんな感じで,後段で数値として解釈できるか否かの判定を入れるとか…
|
20
|
+
|
21
|
+
```
|
22
|
+
|
23
|
+
foreach( var word in Words )
|
24
|
+
|
25
|
+
{
|
26
|
+
|
27
|
+
if( word.StartsWith(Target) && Regex.IsMatch(word, @"~[1-9][0-9]{0,3}$") )
|
28
|
+
|
29
|
+
{
|
30
|
+
|
31
|
+
Console.Write( word );
|
32
|
+
|
33
|
+
uint No = 0;
|
34
|
+
|
35
|
+
if( uint.TryParse( word.Substring( Target.Length+1 ), out No ) )
|
36
|
+
|
37
|
+
{ Console.WriteLine( " -> OK : " + No.ToString() ); }
|
38
|
+
|
39
|
+
else
|
40
|
+
|
41
|
+
{ Console.WriteLine( " -> NG" ); }
|
42
|
+
|
43
|
+
}
|
44
|
+
|
45
|
+
}
|
46
|
+
|
47
|
+
```
|
1
間違い修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
```
|
4
4
|
|
5
|
-
Regex.IsMatch( word, Target+@"~[
|
5
|
+
Regex.IsMatch( word, Target+@"~[0-9]{1,4}$" )
|
6
6
|
|
7
7
|
```
|
8
8
|
|