私はブーストベースの正規表現をC++ 11の正規表現に変換しています。私は、キャプチャグループがurl
と呼ばれる持っている:C++ 11 Regex Capture Groups名前で
\s*?=\s*?(("(?<url>.*?)")|('?<url>.*?)'))
ブーストを使用すると、smatch
を持っていた場合は、名前でキャプチャグループを取得するためにmatch.str("url")
を呼び出すことができます。 std::smatch
では、インデックス付きの部分一致のみが表示されます。
std :: smatchクラスを使用してURLキャプチャにアクセスするにはどうすればよいですか?
'(?。*?)'の代わりに '(?P 。*?)'を試しましたか? –
HamZa
@HamZa C++ 11の正規表現が名前付きキャプチャグループをサポートしているかどうかはわかりません。 Stroustrupの新しい「The C++ Programming Language」の話題に特化した章全体を読んだだけで、それについては言及していません。オンラインの参考文献の多くはそうでないことを示すようには見えない。 –
この[回答](http://stackoverflow.com/a/6398650)によれば、名前付きグループはサポートしていないようです。 – HamZa