dotnet:regex

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
dotnet:regex [2009/03/02 19:19] ともやんdotnet:regex [2019/05/18 02:23] (現在) – 外部編集 非ログインユーザー
行 134: 行 134:
 ファイル名: 'AAA_00001.txt' はパターン: 'aaa_\d{5}.txt' にマッチしません。 ファイル名: 'AAA_00001.txt' はパターン: 'aaa_\d{5}.txt' にマッチしません。
 ファイル名: 'AAA_00001.txt' はパターン: 'aaa_\d{5}.txt' にマッチしません。 ファイル名: 'AAA_00001.txt' はパターン: 'aaa_\d{5}.txt' にマッチしません。
 +</code>
 +
 +===== グループ化構成体を利用した値の抽出 =====
 +[VB]
 +<code vbnet>
 +Imports System
 +Imports System.Text.RegularExpressions
 +
 +Module SampleAppVB
 +    Sub Main()
 +        Dim fileName1 As String = "fileA_20090304_00001.txt"
 +        Dim fileName2 As String = "fileB_20090305_00002.txt"
 +
 +        ' グループ名定義
 +        Const REGEX_GROUP_DATE As String = "date"       ' 日付
 +        Const REGEX_GROUP_COUNTER As String = "counter" ' カウンタ
 +        ' ファイル名の正規表現
 +        Const TARGET_FILENAME_REGEX As String = _
 +            "file[AB]_" & _
 +            "(?<" & REGEX_GROUP_DATE & ">\d{8})_" & _
 +            "(?<" & REGEX_GROUP_COUNTER & ">\d{5}).txt"
 +
 +        ' パターンマッチ情報を取得
 +        Dim mt1 As Match = Regex.Match(fileName1, TARGET_FILENAME_REGEX)
 +
 +        ' 日付、および、カウンタを抽出して表示
 +        Console.WriteLine( _
 +            "ファイル名: '{0}' (日付: '{1}'、カウンタ: '{2}')", _
 +            fileName1, _
 +            mt1.Groups(REGEX_GROUP_DATE).Value, _
 +            mt1.Groups(REGEX_GROUP_COUNTER).Value)
 +
 +        ' パターンマッチ情報を取得
 +        Dim mt2 As Match = Regex.Match(fileName2, TARGET_FILENAME_REGEX)
 +
 +        ' 日付、および、カウンタを抽出して表示
 +        Console.WriteLine( _
 +            "ファイル名: '{0}' (日付: '{1}'、カウンタ: '{2}')", _
 +            fileName2, _
 +            mt2.Groups(REGEX_GROUP_DATE).Value, _
 +            mt2.Groups(REGEX_GROUP_COUNTER).Value)
 +    End Sub
 +End Module
 +</code>
 +
 +[実行結果]
 +<code>
 +ファイル名: 'fileA_20090304_00001.txt' (日付: '20090304'、カウンタ: '00001')
 +ファイル名: 'fileB_20090305_00002.txt' (日付: '20090305'、カウンタ: '00002')
 </code> </code>
  • dotnet/regex.1235989165.txt.gz
  • 最終更新: 2019/05/18 02:23
  • (外部編集)