
いつもお世話になっております。
また正規表現がわからなくなってしまったのですが、
お助け願えないでしょうか。
Strの中にはこのようなものが入っています。
Str="あいうえお=====かきくけこ=====さしすせそたちつてと=====まみむめも=====なにぬねの"
Dim r As Regex
Dim m As Match
Dim StrR As String
r = New Regex("=====.+=====")
m = r.Match(Str)
While m.Success
StrR = m.Value
m = m.NextMatch()
End While
順番に
StrR="=====かきくけこ====="
StrR="=====まみむめも====="
を取得したいのですが、
上記のような書き方だと、
StrR=====かきくけこ=====さしすせそたちつてと=====まみむめも====="
を取得してしまいます。
回数の指定など色々試してはみたのですが、
どうしても目的のとおりにすることができず困っておりまして、
書き方をご教示頂きたくよろしくお願い致します。
No.2ベストアンサー
- 回答日時:
あ、この場合
+だから
+? 1 回以上でできるだけ少ない繰り返しを指定します (最短一致の + と同じ)。
を紹介しなきゃ駄目だったか
r = New Regex("=====.+?=====")
か
'===========================
Imports System.Text.RegularExpressions
Module Module1
Sub Main()
Dim r As Regex
Dim m As Match
Dim Str As String = "あいうえお=====かきくけこ=====さしすせそたちつてと=====まみむめも=====なにぬねの"
Dim StrR As String
r = New Regex("=====.+?=====") '?を加えた
m = r.Match(Str)
While m.Success
StrR = m.Value
Console.WriteLine(StrR)
m = m.NextMatch()
End While
End Sub
End Module
で動くはず
出来ました!
ご丁寧に教えてくださって本当にありがとうございます。
?は試したつもりだったのですが出来なかったように思っていました。
正規表現はすごく苦手なので、早く慣れたいと思います。
ありがとうございました。
No.1
- 回答日時:
質問文あまりよく読んでないけど
http://msdn2.microsoft.com/ja-jp/library/3206d37 …
>*? できるだけ少ない繰り返しを処理する最初の一致を指定します (最短一致の * と同じ)。
例(未解決だが)
http://oshiete1.goo.ne.jp/qa3130797.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
PHP8でWarning:Undefined varia...
-
VBでインストール済みアプリケ...
-
vbaで、オートシェイプ文字幅と...
-
コンボボックスの表示は最大何行?
-
ListView 項目の選択/選択解除...
-
データ数をカウントしたいのですが
-
利用者側のMACアドレスを取得し...
-
outlookでメールのフォルダパス...
-
コンボボックス表示文字列を取...
-
count(*)で取得した値をJAVAの...
-
URIでのページの移動について
-
アクセスしてきたコンピュータ...
-
ファイル名の取得について
-
VB .netにて現在時刻+1時間後...
-
VBA:小数点以下の数字を取得で...
-
モニタの物理解像度を得る(Win3...
-
VBAでActiveDirectoryのユーザ...
-
バージョンナンバーの取得
-
PostgresSQL JDBC で Select結...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
PHP8でWarning:Undefined varia...
-
データ数をカウントしたいのですが
-
VBAでActiveDirectoryのユーザ...
-
ListView 項目の選択/選択解除...
-
count(*)で取得した値をJAVAの...
-
利用者側のMACアドレスを取得し...
-
Flexgridで選択行の列の値を取...
-
VBA:小数点以下の数字を取得で...
-
JavaScriptにおいてコンピュー...
-
Spreadの選択行の取得について
-
ASP(vbscript)におけるクライア...
-
エクセルVBAで複数選択できるよ...
-
asp.netでtextboxの値を取得
-
コンボボックス表示文字列を取...
-
現在時刻をミリ秒まで取得
-
EXCELのリストボックスを選択し...
-
Excel VBA でログインしてい...
-
URIでのページの移動について
-
VBA リストボックス内の値を複...
おすすめ情報