正規表現について教えて下さい。
投稿者 shu  (社会人)
投稿日時
2011/11/16 07:48:03
> strString.IndexOf("span\sclass=""date""")
これは正規表現ではなく指定した文字列そのものでの検索になるので
\sを半角スペースにすればいいです。
正規表現を使うなら
Imports System.Text.RegularExpressions
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim m = Regex.Match(TextBox1.Text, "<span class=""date"">(?<date>.*?)</span>")
If m.Success Then
TextBox2.Text = m.Groups("date").Value
End If
End Sub
のような感じです。
正規表現を以下のようにするとspan以外のタグでも使用出来ます。
"<(?<tag>.*?) class=""date"">(?<date>.*?)</\k<tag>>"
これは正規表現ではなく指定した文字列そのものでの検索になるので
\sを半角スペースにすればいいです。
正規表現を使うなら
Imports System.Text.RegularExpressions
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim m = Regex.Match(TextBox1.Text, "<span class=""date"">(?<date>.*?)</span>")
If m.Success Then
TextBox2.Text = m.Groups("date").Value
End If
End Sub
のような感じです。
正規表現を以下のようにするとspan以外のタグでも使用出来ます。
"<(?<tag>.*?) class=""date"">(?<date>.*?)</\k<tag>>"
投稿者 太一  (社会人)
投稿日時
2011/11/16 12:50:22
shuさん返信有難う御座います。
お陰様で正規表現上手く出来ました。
また応用も有難うございました。
実はそれも知りたかった一つでした。
お陰様で正規表現上手く出来ました。
また応用も有難うございました。
実はそれも知りたかった一つでした。
どこが間違っているのか教えてもらえないでしょうか?
タグ
<span class="date">2011-11-10</span>
Dim strString As String = str1
If strString.IndexOf("span\sclass=""date""") <> -1 Then
retIndex = str1.IndexOf("span\sclass=""date""")
TextBox.Text = str1.Substring(retIndex + 17, 11)
MessageBox.Show("ok")
End If
もしくは
Dim strString As String = str1
If strString.IndexOf("span class=""date""") <> -1 Then
retIndex = str1.IndexOf("span class=""date""")
TextBox.Text = str1.Substring(retIndex + 17, 11)
MessageBox.Show("ok")
End If
VB2005です。