0

文字列の一部を取得したいのですが、私の質問は、一致した文字列 (部分文字列または分割) に触れずに正しい文字列を取得できるかどうかです。分割/部分文字列を実行するのは簡単ですが、改善できるかどうか知りたいです仕事自体を行う正規表現。

これは文字列です:

<h3 class="btl"><a href="http://post-hardcore.ru/music/2689-drifter-in-search-of-something-more-ep-2013.html">Drifter - In Search of Something More [EP] (2013)</a></h3>

これは私が得るものです:

>Drifter - In Search of Something More [EP] (2013)</a><

これは私が取得したいものです:

Drifter - In Search of Something More [EP] (2013)

これは私の正規表現です:

Dim RegEx_AlbumName As New Regex(">[^<].*<")

MsgBox(RegEx_AlbumName.Match(Line).Groups(0).ToString)

私はこれをしたくありません:

AlbumName = RegEx_AlbumName.Match(Line).Groups(0).ToString.Substring(1).Replace("</a><", "")

編集:括弧内の単語「(2013)」は、一致させる必要がある他の文字列に含まれていない可能性があることに注意してください。

4

1 に答える 1

1

あなたの正規表現は近かった。食いしん坊なので最初の[^<]1文字だけ最後まで何文字も食べて>しまう。これを試して:.*<

Dim RegEx_AlbumName As New Regex(">([^<]+?)<")

MsgBox(RegEx_AlbumName.Match(Line).Groups(1).ToString)

可能な限り短い文字列に一致する?ように正規表現に指示します。この場合のみ、それがなくても機能すると思います。

于 2013-05-20T00:33:05.360 に答える