はじめまして。現在VB2005ExpressEditionを利用してテキストからURL情報のみ抽出を試みています。BASP21を利用して行おうとしていますが、うまくいきません。正規表現の書き方が良くないのだろうと思っています。現在は下記のようにMatchEx関数を利用してdata1からURL(URI)をすべて抽出して、data2に配列として格納しようとしています。しかし、うまく格納されません。何か良い方法がありましたらアドバイスいただけないでしょうか?data2 = bobj.MatchEx("/(http:[\w\d/%#$&?()~_.=+-]+)/", data1, 1)
/,?,(,),.+ もエスケープの対象ではないでしょうか?ところで>MatchExってなんのオブジェクトでしょうか?検索しても、.NET Frameworkのオブジェクトではないようですけど。。。
> 現在は下記のようにMatchEx関数を利用してdata1からURL(URI)をすべて抽出して、この data1 は何なのでしょうか? ソースファイルのテキストなら URL は必ず絶対パスで書かれているとは限らないので、正規表現を使っては難しいと思いますけど。URLの形式で書かれているかどうかの判断には向きますが、文字列中のここから、ここまでがURLだと判断するにはかなり....。BASP21 の方に何か便利な機能があるなら別ですが。VB2005ならWebBrowser コントロールを使って、タグ等の要素から取得するようにした方が簡単かと思いますが。因みに、VB2005 では、正規表現は、Regex クラスを使用します。