<?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[Variablen binden mittels regulären Ausdruck]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe einen String, der wie folgt aussehen könnte:</p>
<p>set(121,145)<br />
get(569.41)<br />
commit(asdf)</p>
<p>Jetzt möchte ich z.B. ein String-Array und einen regulären Ausdruck, der mir die einzelnen Methoden-Aufrufe und Parameter eben in das String-Array speichert!</p>
<p>Also z.B.</p>
<pre><code>static const boost::regex pattern_rw (&quot;(set|get){1}[(][0-9][,][0-9][)]&quot;,boost::regex_constants::icase|boost::regex_constants::perl);
</code></pre>
<p>soll mir bei dem String</p>
<p>set(121,145)</p>
<p>in das String-Array folgende Werte speichern:</p>
<p>String-Array[0] = set<br />
String-Array[1] = 121<br />
String-Array[2] = 145</p>
<p>Hat hier irgendjemand eine Idee wie das funktioniert? Oder wie könnte man sonst solche String am besten parsen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/238232/variablen-binden-mittels-regulären-ausdruck</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 03:26:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/238232.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 08 Apr 2009 08:48:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Variablen binden mittels regulären Ausdruck on Wed, 08 Apr 2009 08:48:06 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe einen String, der wie folgt aussehen könnte:</p>
<p>set(121,145)<br />
get(569.41)<br />
commit(asdf)</p>
<p>Jetzt möchte ich z.B. ein String-Array und einen regulären Ausdruck, der mir die einzelnen Methoden-Aufrufe und Parameter eben in das String-Array speichert!</p>
<p>Also z.B.</p>
<pre><code>static const boost::regex pattern_rw (&quot;(set|get){1}[(][0-9][,][0-9][)]&quot;,boost::regex_constants::icase|boost::regex_constants::perl);
</code></pre>
<p>soll mir bei dem String</p>
<p>set(121,145)</p>
<p>in das String-Array folgende Werte speichern:</p>
<p>String-Array[0] = set<br />
String-Array[1] = 121<br />
String-Array[2] = 145</p>
<p>Hat hier irgendjemand eine Idee wie das funktioniert? Oder wie könnte man sonst solche String am besten parsen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692697</guid><dc:creator><![CDATA[Reinoslav]]></dc:creator><pubDate>Wed, 08 Apr 2009 08:48:06 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen binden mittels regulären Ausdruck on Wed, 08 Apr 2009 09:49:00 GMT]]></title><description><![CDATA[<p>Vielleicht frage ich mal andersrum.Was willst du erreichen?Eventuell geht es ja auch anders.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692729</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692729</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Wed, 08 Apr 2009 09:49:00 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen binden mittels regulären Ausdruck on Wed, 08 Apr 2009 10:38:42 GMT]]></title><description><![CDATA[<p>Naja ich habe halt eine Datei, in der gewissen Methodenaufrufe stehen, also z.B.</p>
<p>get(&lt;xxx&gt;)<br />
rollbak(&lt;xxx&gt;)<br />
commit(&lt;xxx&gt;)<br />
set(&lt;xxx&gt;)</p>
<p>Ich möchte jetzt eine Parser-Klasse schreiben, die diese Methoden enthält und eine Datei parst und diese Methoden aufruft. War das irgendwie verständlich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692761</guid><dc:creator><![CDATA[Reinoslav]]></dc:creator><pubDate>Wed, 08 Apr 2009 10:38:42 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen binden mittels regulären Ausdruck on Wed, 08 Apr 2009 10:39:33 GMT]]></title><description><![CDATA[<p>Kurz und Knapp. Ist nicht möglich. Nachdem du kompiliert hast, sind die Methoden und Methodennamen usw nicht mehr existent.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692762</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692762</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Wed, 08 Apr 2009 10:39:33 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen binden mittels regulären Ausdruck on Wed, 08 Apr 2009 10:55:05 GMT]]></title><description><![CDATA[<p>OK, dann vielleicht das Problem ein wenig anders ausgedrückt:</p>
<p>Ich habe eine Datei mit folgenden Befehlen:</p>
<p>get(&lt;xxx&gt;)<br />
rollbak(&lt;xxx&gt;)<br />
commit(&lt;xxx&gt;)<br />
set(&lt;xxx&gt;)</p>
<p>Diese Datei soll geparst werden und dann gewisse Aktionen durchgeführt werden, wie kann ich diese Datei mit den Befehlen am besten parsen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692773</guid><dc:creator><![CDATA[Reinoslav]]></dc:creator><pubDate>Wed, 08 Apr 2009 10:55:05 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen binden mittels regulären Ausdruck on Wed, 08 Apr 2009 11:03:12 GMT]]></title><description><![CDATA[<p>Benutze eine der gebräuchlichen Skriptsprachen wie Lua oder Python.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692777</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692777</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Wed, 08 Apr 2009 11:03:12 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen binden mittels regulären Ausdruck on Wed, 08 Apr 2009 11:09:51 GMT]]></title><description><![CDATA[<p>Reinoslav schrieb:</p>
<blockquote>
<p>OK, dann vielleicht das Problem ein wenig anders ausgedrückt:</p>
<p>Ich habe eine Datei mit folgenden Befehlen:</p>
<p>get(&lt;xxx&gt;)<br />
rollbak(&lt;xxx&gt;)<br />
commit(&lt;xxx&gt;)<br />
set(&lt;xxx&gt;)</p>
<p>Diese Datei soll geparst werden und dann gewisse Aktionen durchgeführt werden, wie kann ich diese Datei mit den Befehlen am besten parsen?</p>
</blockquote>
<p>Ganz einfach in 3 Schritten:<br />
1.) Nenne die Datei .cpp<br />
2.) Schicke sie durch einen Compiler und<br />
3.) führe das Ergebnis aus.</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Ich verstehe den Hang zum &quot;Interpretieren&quot; nicht so ganz ... in meiner Erfahrung gibt es kaum ein Problem, deren Lösung wirklich dauernd und weitgreifend Änderung der Ablaufsteuerung braucht.</p>
<p>... und da wo ich es gesehen habe, gab es im Ergebnis derart viele Schwierigkeiten, dass man doch wieder eine &quot;Programmiersprache&quot; (oder meinetwegen ein Framework mit ziemlich festen Regeln) erfand, um Stabilität und Nachvollziehbarkeit irgendwie gewährleisten zu können.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692781</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692781</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 08 Apr 2009 11:09:51 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen binden mittels regulären Ausdruck on Wed, 08 Apr 2009 11:17:10 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>Ich verstehe den Hang zum &quot;Interpretieren&quot; nicht so ganz ... in meiner Erfahrung gibt es kaum ein Problem, deren Lösung wirklich dauernd und weitgreifend Änderung der Ablaufsteuerung braucht.</p>
</blockquote>
<p>Es geht um die bereits eingebauten und kinderleicht anwendbaren Features der Skriptsprachen. Wenn du die Zeile</p>
<pre><code class="language-cpp">static const boost::regex pattern_rw (&quot;(set|get){1}[(][0-9][,][0-9][)]&quot;,boost::regex_constants::icase|boost::regex_constants::perl);
</code></pre>
<p>mal betrachtest, weißt Du vielleicht, wovon die Rede ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692785</guid><dc:creator><![CDATA[c++ fan2009]]></dc:creator><pubDate>Wed, 08 Apr 2009 11:17:10 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen binden mittels regulären Ausdruck on Wed, 08 Apr 2009 11:17:26 GMT]]></title><description><![CDATA[<p>Nein, diese Datei soll als Skriptdatei verstanden werden und geparst werden, das ist zumindest mal meine Vorgabe. Und diese Befehle müssen von mir in irgendeiner Art und Weise geparst und interpretiert werden...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692786</guid><dc:creator><![CDATA[Reinoslav]]></dc:creator><pubDate>Wed, 08 Apr 2009 11:17:26 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen binden mittels regulären Ausdruck on Wed, 08 Apr 2009 11:17:47 GMT]]></title><description><![CDATA[<p>Labert doch keinen Müll (abgesehen von dem Skriptsprachen vorschlag, der war gut, aber ich glaube, dass der TO schon das Format für die Datei vorgegeben hat). Natürlich geht das und dein Ansatz mit dem regulären Ausdruck wäre durchaus eine praktikable Lösung, wenn auch unflexibel.</p>
<p>Einfacher wäre es einen kleinen Parser zu schreiben, du liest zuerst den Funktionsnamen aus, je nachdem ob du Leerzeichen zulässt kannst du ja einfach bis zu ( lesen und hast den Funktionsnamen. Dann die Parameterliste ist ja wirklich einfach, einfach den String bis ) einlesen, Leerzeichen (falls erlaubt) entfernen und den String beim Komma splitten und schon hast du Funktionsname und alle Parameter.</p>
<p>Die Funktionen selbst würde ich in einer std::map ablegen mit dem Funktionsnamen als Key und der zugehörigen Funktion als Value.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692787</guid><dc:creator><![CDATA[Tippgeber]]></dc:creator><pubDate>Wed, 08 Apr 2009 11:17:47 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen binden mittels regulären Ausdruck on Wed, 08 Apr 2009 19:27:24 GMT]]></title><description><![CDATA[<p>Danke für den Tip mit std::map. Ich habe mich jetzt in der Zwischenzeit mal mit dem boost::spirit Parser Framework beschäftigt. Scheint echt mächtig zu sein, aber für mein Vorhaben wohl zu umfangreich...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1693091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1693091</guid><dc:creator><![CDATA[Reinoslav]]></dc:creator><pubDate>Wed, 08 Apr 2009 19:27:24 GMT</pubDate></item></channel></rss>