C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

正規表現を使って部分文字列を取得する方法? /8823CenterTail (18/10/06(Sat) 00:22) #88874
Re[1]: 正規表現を使って部分文字列を取得する方法? /ジャキ (18/10/06(Sat) 02:10) #88875
  └ Re[2]: 正規表現を使って部分文字列を取得する方法? /8823CenterTail (18/10/06(Sat) 09:22) #88876 解決済み


親記事 / ▼[ 88875 ]
■88874 / 親階層)  正規表現を使って部分文字列を取得する方法?
□投稿者/ 8823CenterTail (1回)-(2018/10/06(Sat) 00:22:35)

分類:[C#] 

初めて質問させていただきます。
VisualStudio2015 C# を使用しています。
次のような文字列があり、それぞれの日付、N部屋目の性別と人数を正規表現を使用して取得したいと考えています。
Regex.Match を色々と試してみましたが、どうしてもうまく抜けません。
アドバイスを頂けると助かります。
よろしくお願いいたします。

[2018-11-03][1部屋目][男性 2名 \0][2018-11-04][1部屋目][男性 2名 \0][2018-11-05][1部屋目][男性 2名 \0][2018-11-03][2部屋目][男性 2名 \0][2018-11-04][2部屋目][男性 2名 \0][2018-11-05][2部屋目][男性 2名 \0]

[ □ Tree ] 返信 編集キー/

▲[ 88874 ] / ▼[ 88876 ]
■88875 / 1階層)  Re[1]: 正規表現を使って部分文字列を取得する方法?
□投稿者/ ジャキ (1回)-(2018/10/06(Sat) 02:10:33)
No88874 (8823CenterTail さん) に返信

var r = @"\[(\d{4}-\d{2}-\d{2})\]\[(\d+)部屋目\]\[(.)性 (\d+)名 \\0\]";
var s = @"[2018-11-03][1部屋目][男性 2名 \0][2018-11-04][1部屋目][男性 2名 \0]";

foreach (Match m in Regex.Matches(s, r))
{
    Debug.WriteLine(String.Format("{0}, {1}, {2}, {3}", 
        m.Groups[1], m.Groups[2], m.Groups[3], m.Groups[4]));
}

[ 親 88874 / □ Tree ] 返信 編集キー/

▲[ 88875 ] / 返信無し
■88876 / 2階層)  Re[2]: 正規表現を使って部分文字列を取得する方法?
□投稿者/ 8823CenterTail (2回)-(2018/10/06(Sat) 09:22:39)
ジャキ様

早速の返信ありがとうございました。
非常に助かりました。
ありがとうございます。
解決とさせていただきます。

No88875 (ジャキ さん) に返信
> ■No88874 (8823CenterTail さん) に返信
>
> var r = @"\[(\d{4}-\d{2}-\d{2})\]\[(\d+)部屋目\]\[(.)性 (\d+)名 \\0\]";
> var s = @"[2018-11-03][1部屋目][男性 2名 \0][2018-11-04][1部屋目][男性 2名 \0]";
>
> foreach (Match m in Regex.Matches(s, r))
> {
> Debug.WriteLine(String.Format("{0}, {1}, {2}, {3}",
> m.Groups[1], m.Groups[2], m.Groups[3], m.Groups[4]));
> }
解決済み
[ 親 88874 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -