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