アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB8 (2005)で、正規表現の書き方ですが、抽出する場合は、
以下のようにしましたが、抽出せず、単にマッチしたかとうが
If文で判別する方法が知りたいです。

Imports System.Text.RegularExpressions '正規表現

Dim dat As String = "TEST 01"
Dim ptn As String 'パターン
Dim r As Regex '
Dim dv As String '部分

'抽出
ptn = "^TEST ([0-9]+)$"
r = New Regex(ptn, RegexOptions.IgnoreCase)
For Each m As Match In r.Matches(dat)
dv = m.Groups(1).Value()
MsgBox("抽出=[" & dv & "]")
Next

あと、上のようにFor文で回していますが、Globalでなく、今回は1つだけの抽出で、しかも1つだけの()なので、これをFor文を使わずに直接取得する書き方はあるのでしょうか?

それ以前に、.NETの正規表現の書き方が一般的でなければ、ご指導お願い致します。

A 回答 (1件)

Forのブロックを


if r.matches(dat).Length > 0 then
  dim m as Match = r.matches(dat)(0)
  MsgBox( "抽出=[" & m.Group(1).Value & "]")
end if
といった具合にすればいいのでは ・・・
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!