<p>Bocs, hogy belepof, de a feladatra teljesen jo a regex, csak a feladatfelvetes bena volt.</p>
<p>A kigyujtesre a regex: (:[a-z0-9])</p>
<p>Az idezojelek kozti reszeket meg siman uritheted.</p>
<p>Bar megmondom oszinten, ilyen string ertelmes sql queryben nem fordul elo, idezojelek kozott sem. Mivel preprocessben hasznalod fel a regexet, igy ilyenkor meg nincs untrusted user input, utana meg mar mindegy. Csak magadat kell korlatoznod, hogy ne akarj olyat irni, hogy SELECT * FROM valami WHERE &#39;:bla&#39; = :bla. IMHO ez igy kb. sosem fordul elo.</p>

<p>A tokenizalas jo otlet, a regexszel kigyujtott talalatokat vegig lehet keresgelni.</p>
<p>Ezt a levelet telefonról adták fel ezért esetenként ékezethibákat tartalmazhat.</p>
<p>Garami Gábor<br>
E-mail: <a href="mailto:gabor.garami@hron.me">gabor.garami@hron.me</a><br>
Web: <a href="http://hron.me">http://hron.me</a><br>
Skype: hron84<br>
MSN: <a href="mailto:hrgy@vipmail.hu">hrgy@vipmail.hu</a></p>
<div class="gmail_quote">2012.01.03. 18:11, &quot;Tamás Magyar&quot; &lt;<a href="mailto:magyusz@gmail.com">magyusz@gmail.com</a>&gt; ezt írta:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Nem tudom, hogy erre ez a legjobb megoldás, de StreamTokenizer helyett<br>
ajánlom ezt:<br>
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html" target="_blank">http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html</a><br>
Én már sikerrel használtam.<br>
<br>
Magyusz<br>
<br>
2012/1/3 Suller Andras &lt;<a href="mailto:suller.andras@gmail.com">suller.andras@gmail.com</a>&gt;:<br>
&gt; 2012/1/3 Keresztes Jozsef &lt;<a href="mailto:jkeresztes@vati.hu">jkeresztes@vati.hu</a>&gt;:<br>
&gt;&gt; Sziasztok !<br>
&gt;&gt;<br>
&gt;&gt; Egy sql stringen belül keresek egy másik stringet, a Matcher és Pattern osztályok segítségével,<br>
&gt;&gt; egyszerüsítsük a dolgot, csak a &quot;:&quot; karaktert keressük:<br>
&gt;&gt;<br>
&gt;&gt; Matcher matcher = Pattern.compile(&quot;:&quot;).matcher(sqlString);<br>
&gt;&gt;<br>
&gt;&gt; A probléma azzal van hogy csak azokat a &quot;:&quot; karaktereket szeretném megkeresni az sql stringben ami nem aposztrófok között van például:<br>
&gt;&gt;<br>
&gt;&gt; SELECT &#39;ez nem&#39;&#39;:kell&#39; FROM valami WHERE id = :id and &#39;:&#39; = &#39;x&#39;<br>
&gt;&gt;<br>
&gt;&gt; Vagyis itt a 2. kettőspont lenne csak találat a többi nem.<br>
&gt;&gt; Valaki foglalkozott már ilyen keresési minta megírásával ?<br>
&gt;&gt; Én egyelőre nem tudom elképzelni...<br>
&gt;<br>
&gt; Regen hasznaltam mar, de azt hiszem a StreamTokenizer az, ami kezeli<br>
&gt; ezt a problemat. Marmint hogy az &#39;...&#39; szovegreszt egy tokenkent adja<br>
&gt; vissza, igy meguszod a regularis kifejezest.<br>
&gt;<br>
&gt; Andras<br>
&gt; _______________________________________________<br>
&gt; Javalist mailing list<br>
&gt; <a href="mailto:Javalist@lists.javaforum.hu">Javalist@lists.javaforum.hu</a><br>
&gt; <a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
_______________________________________________<br>
Javalist mailing list<br>
<a href="mailto:Javalist@lists.javaforum.hu">Javalist@lists.javaforum.hu</a><br>
<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
</blockquote></div>