<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Regex in C++]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe hier folgenden Quelltext:</p>
<pre><code>#include &lt;stdio.h&gt;
#include &lt;regex&gt;
#include &lt;string&gt;

using namespace std;

main()
{
	string Mnemonic(&quot;mov [bx+si], al&quot;);
	regex Regex(&quot;(\\w+) ?(?:(?:\\[(?:(\\w+)\\:)?(\\w+\\+?\\w+?)\\]|(\\w+)), ?(?:\\[(\\w+)\\]|(\\w+)))?&quot;);
	cmatch Result;

	regex_search( Mnemonic.c_str(), Result, Regex );
    for( size_t nr=1; nr&lt;=Result.size(); ++nr ) printf(&quot;%s&quot;, Result[nr]);
}
</code></pre>
<p>Beim Compilieren alles gut und schön außer folgende Warnung:</p>
<pre><code>Warnung: Format »%s« erwartet Argumenttyp »char*«, aber Argument 2 hat Typ »const value_type {aka const std::sub_match&lt;const char*&gt;}« [-Wformat]
</code></pre>
<p>Beim Ausführen erhalte ich aber</p>
<pre><code>terminate called after throwing an instance of 'std::regex_error'
  what():  regex_error
Abgebrochen (Speicherabzug geschrieben)
</code></pre>
<p>Woran kann das liegen?</p>
<p>Gruß Uwe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/313043/regex-in-c</link><generator>RSS for Node</generator><lastBuildDate>Sun, 02 Aug 2026 08:35:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/313043.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 20 Jan 2013 13:49:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Regex in C++ on Sun, 20 Jan 2013 13:49:39 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe hier folgenden Quelltext:</p>
<pre><code>#include &lt;stdio.h&gt;
#include &lt;regex&gt;
#include &lt;string&gt;

using namespace std;

main()
{
	string Mnemonic(&quot;mov [bx+si], al&quot;);
	regex Regex(&quot;(\\w+) ?(?:(?:\\[(?:(\\w+)\\:)?(\\w+\\+?\\w+?)\\]|(\\w+)), ?(?:\\[(\\w+)\\]|(\\w+)))?&quot;);
	cmatch Result;

	regex_search( Mnemonic.c_str(), Result, Regex );
    for( size_t nr=1; nr&lt;=Result.size(); ++nr ) printf(&quot;%s&quot;, Result[nr]);
}
</code></pre>
<p>Beim Compilieren alles gut und schön außer folgende Warnung:</p>
<pre><code>Warnung: Format »%s« erwartet Argumenttyp »char*«, aber Argument 2 hat Typ »const value_type {aka const std::sub_match&lt;const char*&gt;}« [-Wformat]
</code></pre>
<p>Beim Ausführen erhalte ich aber</p>
<pre><code>terminate called after throwing an instance of 'std::regex_error'
  what():  regex_error
Abgebrochen (Speicherabzug geschrieben)
</code></pre>
<p>Woran kann das liegen?</p>
<p>Gruß Uwe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2291600</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2291600</guid><dc:creator><![CDATA[ugoessner]]></dc:creator><pubDate>Sun, 20 Jan 2013 13:49:39 GMT</pubDate></item><item><title><![CDATA[Reply to Regex in C++ on Sun, 20 Jan 2013 14:00:21 GMT]]></title><description><![CDATA[<p>Warum nutzt du printf?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2291608</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2291608</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Sun, 20 Jan 2013 14:00:21 GMT</pubDate></item><item><title><![CDATA[Reply to Regex in C++ on Sun, 20 Jan 2013 14:10:38 GMT]]></title><description><![CDATA[<p>wenn du printf nutzen möchtest, mußt du einen const char * übergeben:</p>
<pre><code>for( size_t nr=1; nr&lt;=Result.size(); ++nr ) printf(&quot;%s&quot;, Result[nr].str().c_str());
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2291614</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2291614</guid><dc:creator><![CDATA[dd++ 0]]></dc:creator><pubDate>Sun, 20 Jan 2013 14:10:38 GMT</pubDate></item><item><title><![CDATA[Reply to Regex in C++ on Sun, 20 Jan 2013 14:25:53 GMT]]></title><description><![CDATA[<p>Fehhler nach dem Ausführen bleibt immer noch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2291624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2291624</guid><dc:creator><![CDATA[ugoessner]]></dc:creator><pubDate>Sun, 20 Jan 2013 14:25:53 GMT</pubDate></item><item><title><![CDATA[Reply to Regex in C++ on Sun, 20 Jan 2013 14:32:15 GMT]]></title><description><![CDATA[<p>probier mal</p>
<pre><code>const char * Mnemonic = &quot;mov [bx+si], al&quot;;
</code></pre>
<p>in der Zeile</p>
<pre><code>regex_search( Mnemonic.c_str(), Result, Regex );
</code></pre>
<p>wird bei Mnemonic.c_str() ein const char * zurückgegeben, der möglicherweise nicht dauerhaft ist</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2291626</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2291626</guid><dc:creator><![CDATA[dd++ 0]]></dc:creator><pubDate>Sun, 20 Jan 2013 14:32:15 GMT</pubDate></item><item><title><![CDATA[Reply to Regex in C++ on Sun, 20 Jan 2013 14:39:23 GMT]]></title><description><![CDATA[<p>Ist doch ganz klar, der Fehler muss von</p>
<pre><code class="language-cpp">regex Regex(&quot;(\\w+) ?(?:(?:\\[(?:(\\w+)\\:)?(\\w+\\+?\\w+?)\\]|(\\w+)), ?(?:\\[(\\w+)\\]|(\\w+)))?&quot;);
</code></pre>
<p>kommen, d.h. der Regex hat einen Fehler.</p>
<p>Da C++11 Raw String Literals kennt, würde ich den Regex gleich in so einem schreiben, in der jetzigen Form finde ich ihn etwas unleserlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2291628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2291628</guid><dc:creator><![CDATA[rmdd]]></dc:creator><pubDate>Sun, 20 Jan 2013 14:39:23 GMT</pubDate></item></channel></rss>