掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Boost RegexにてURLを抜き出したい (ID:69483)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ここに投稿させて頂くのも場違いかも知れないのですが、VC2005 MFC 「Unicode 文字セットを使用する」設定のプロジェクトで開発しています。 BoostのバージョンはVersion 1.37.0になります。 CString に格納された文字列からURLとおぼしき部分を抜き出したいと思っています。 以下のコードを書いたのですが、どうもうまく有りません。 CString csSource = _T( "文字と文字の間にhttp://sampleurl.com/index.htmlこういったURLが挿入された時にURLだけ抜き出したい" ); WCHAR* pSource; pSource = csSource.GetBuffer(); wstring szSource = pSource; boost::wregex regex( _T( "(([a-z]+):)?//([^:/]+)(:([0-9]+))?/([a-zA-Z.0-9?=+%%&/_-]+)" ) ); boost::smatch results; boost::regex_search( szSource, results, regex ); csSource.ReleaseBuffer(); *** 質問1) 実行すると regex_search() は第一引数として char を求められてしまい wchar をどうやって渡して良いか分かりませんでした。 CStringを使わずに char* で全て通すと動作するのですが、CStringと受け渡しがしたく、どうしたら良いかご指導願えないでしょうか? 質問2) 根本的にCStringからURLを抜き出す方法でもっと適した正規表現或いはその手法が有ればご指導願えないでしょうか。 すみませんが、宜しくお願いいたします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.