- ベストアンサー
VB.NET正規表現の書き方を教えてください
- VB.NETで正規表現を使って文字列を抽出する方法を教えてください。
- 質問者はStrという変数に特定のパターンに一致する部分文字列を抽出したいと考えています。
- 質問者はループを使用してStr内の特定のパターンに一致する部分文字列を取得しようとしていますが、うまくいっていません。どのように修正すれば良いでしょうか?
- みんなの回答 (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 で動くはず
その他の回答 (1)
- himajin100000
- ベストアンサー率54% (1660/3060)
質問文あまりよく読んでないけど http://msdn2.microsoft.com/ja-jp/library/3206d374(VS.80).aspx >*? できるだけ少ない繰り返しを処理する最初の一致を指定します (最短一致の * と同じ)。 例(未解決だが) http://oshiete1.goo.ne.jp/qa3130797.html
お礼
出来ました! ご丁寧に教えてくださって本当にありがとうございます。 ?は試したつもりだったのですが出来なかったように思っていました。 正規表現はすごく苦手なので、早く慣れたいと思います。 ありがとうございました。