<?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[Hilfe bei Regulärem Ausdruck]]></title><description><![CDATA[<p>Ich möchte mit einem regulären Ausdruck folgendes parsen können und auf die Teilstrings zugreifen (das ist immer einer der vier Teile, ohne dem Punkt):</p>
<p>12.+34.0.*</p>
<p>Also gültig ist eine Zahl, ein Plus gefolgt von einer Zahl, ein Stern</p>
<p>Mein regulärer ausdruck sieht so aus:</p>
<pre><code class="language-cpp">//Validate format specifier
boost::regex re(&quot;(\\+\\d+|\\*|\\d+)\\.(\\+\\d+|\\*|\\d+)\\.&quot;
		&quot;(\\+\\d+|\\*|\\d+)\\.(\\+\\d+|\\*|\\d+)&quot; );
</code></pre>
<p>Aber bei folgendem Testaufruf, erhalte ich in res[ 1 ] immer den gesamten String und nicht den Teilstring</p>
<pre><code class="language-cpp">boost::smatch res;

if( boost::regex_search( &quot;0.*.+3.3&quot;, res, re ) )
{
  std::cout &lt;&lt; res[ 1 ];
}
</code></pre>
<p>Wie müsste der reguläre Ausdruck denn richtig aussehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/155871/hilfe-bei-regulärem-ausdruck</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Jul 2026 04:15:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/155871.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 10 Aug 2006 14:45:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Hilfe bei Regulärem Ausdruck on Thu, 10 Aug 2006 14:45:15 GMT]]></title><description><![CDATA[<p>Ich möchte mit einem regulären Ausdruck folgendes parsen können und auf die Teilstrings zugreifen (das ist immer einer der vier Teile, ohne dem Punkt):</p>
<p>12.+34.0.*</p>
<p>Also gültig ist eine Zahl, ein Plus gefolgt von einer Zahl, ein Stern</p>
<p>Mein regulärer ausdruck sieht so aus:</p>
<pre><code class="language-cpp">//Validate format specifier
boost::regex re(&quot;(\\+\\d+|\\*|\\d+)\\.(\\+\\d+|\\*|\\d+)\\.&quot;
		&quot;(\\+\\d+|\\*|\\d+)\\.(\\+\\d+|\\*|\\d+)&quot; );
</code></pre>
<p>Aber bei folgendem Testaufruf, erhalte ich in res[ 1 ] immer den gesamten String und nicht den Teilstring</p>
<pre><code class="language-cpp">boost::smatch res;

if( boost::regex_search( &quot;0.*.+3.3&quot;, res, re ) )
{
  std::cout &lt;&lt; res[ 1 ];
}
</code></pre>
<p>Wie müsste der reguläre Ausdruck denn richtig aussehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114677</guid><dc:creator><![CDATA[thomas r.]]></dc:creator><pubDate>Thu, 10 Aug 2006 14:45:15 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Regulärem Ausdruck on Thu, 10 Aug 2006 14:54:49 GMT]]></title><description><![CDATA[<p>Muss mich korrigieren, das Problem ist nicht, dass er nicht matcht, obige Testausgabe, liefert das richtige, aber die 0, also das erste Feld wird verschluckt, das war das Problem.<br />
Statt einer 0 eine 10 bringt als Ausgabe ein Leerzeichen und anschließend eine 0.</p>
<p>Ausgabe bei 10.*.+3.3</p>
<blockquote>
<p>0<br />
*<br />
+3<br />
3</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1114682</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114682</guid><dc:creator><![CDATA[thomas r.]]></dc:creator><pubDate>Thu, 10 Aug 2006 14:54:49 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Regulärem Ausdruck on Thu, 10 Aug 2006 14:55:40 GMT]]></title><description><![CDATA[<p>Das Zitat hat das Leerzeichen verschluckt, nochmal in code-tags</p>
<pre><code>0
*
+3
3
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1114683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114683</guid><dc:creator><![CDATA[thomas r.]]></dc:creator><pubDate>Thu, 10 Aug 2006 14:55:40 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Regulärem Ausdruck on Thu, 10 Aug 2006 15:16:22 GMT]]></title><description><![CDATA[<p>Oh mann, ich hab zwar keine Ahnung woran der Fehler da oben lag, aber plötzlich war er weg, ka wieso.</p>
<p>Das ist mir erst wegen nem anderen Fehler aufgefallen, und der war, dass smatch bei 1 und nicht bei 0 anfängt, oh mann wie kann man nur sowas machen *g*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114692</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114692</guid><dc:creator><![CDATA[thomas r.]]></dc:creator><pubDate>Thu, 10 Aug 2006 15:16:22 GMT</pubDate></item></channel></rss>