0

正規表現のチュートリアルを読む必要があります-これまでのところ、この領域に精神的なブロックがあります-今、私は次のパターンに一致させようとしています:

ab234_12345_45678_afddsyyht788959

アンダースコアで囲まれた3番目の(おそらく数値の)項目を抽出しようとしています(文字列のパターンが間違っている場合は、もちろん無効な形式を返します)。

何かのようなもの:

Dim strOriginal As String = "ab234_12345_45678_afddsyyht788959"
Dim strFound As String
Try
    Dim matches As MatchCollection
    Dim regexStuff As New Regex("_.*?_")
    matches = regexStuff.Matches(strOriginal)
    strFound = matches.Item(0).Groups(2).Value.ToString
Catch
    strFound = "invalid"
End Try
MessageBox.Show(strFound)

問題はパターンにあります-私はうまくいくものを見つけることができません...(私は他のいくつかのパターンも試しました)

4

1 に答える 1

1

この正規表現を使用する

[A-Za-z0-9]+_[A-Za-z0-9]+_([A-Za-z0-9]+)

\1グループに一致する

3番目のグループを数値にする場合は、次のように置き換えます([A-Za-z0-9]+)(\d+)

于 2012-08-27T15:36:33.090 に答える