2017-03-24 27 views
2

のシングルマッチのために私は、文字列があります。正規表現は、XMLタグの内容

<tag1 qwer=123>Hello</tag1> 

をそして私は、その内コンテンツのための単一の試合があります正規表現たい:次のように使用して

Hello 

をコード:

string s = "<tag1>Hello</tag1>"; 
smatch sm; 
regex re("<tag1>([\\s\\S]*?)</tag1>"); 
regex_match(s, sm, re); 

私は1試合と1つのその部分マッチを得る:

<tag1>Hello</tag1> 
Hello 

どの正規表現私は単に1試合を取得するために使用する必要があります。

Hello 

感謝を!

+1

あなたはそれがlookbehindsをサポートしていないためのECMAScript正規表現であることを行うための方法はありません試合とキャプチャグループ –

+1

の違いを学ぶ必要があります。さらに、キャプチャグループの値にアクセスすることは大したことではなく、あなたはすでにそれを行う方法を知っています。 –

+0

既存のXMLライブラリを使用します。 [softwarerecs.se]を参照してください。 –

答えて

1

これは有効な単一行のXMLタグのために働く:

regex re("[<][^>]+[>]([^<]+)[<]\/[^>]+[>]");