<div dir="ltr"><div><div>Látom mindenki nagyon belemelegedett a regexpekbe, de lehet, hogy ha hátrébb lépnénk 3 lépést, és végig gondolnánk a problémát, találhatnánk egy egyszerűbb megoldást.<br> Mondjuk lehet egyszerűbb lenne a helyzet, ha nem ilyen gyakori karakter lenne az escape szekvencia, hanem mondjuk %%%paraméter%%% ? <br>
Erre biztos egyszerűbb regexpet írni ;)<br><br></div>Üdv<br></div> Zs<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/12/2 József Keresztes <span dir="ltr">&lt;<a href="mailto:xesj.hu@gmail.com" target="_blank">xesj.hu@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Ha ez a regexp <div class="im"><div><span style="font-size:13px;font-family:arial,sans-serif">^((?:[^&#39;]*&#39;[^&#39;]*&#39;)+[^&#39;]*):[a-</span><span style="font-size:13px;font-family:arial,sans-serif">z]+</span></div>

</div><div><span style="font-size:13px;font-family:arial,sans-serif">működik az nagyon szép megoldás lenne.</span></div><div><span style="font-size:13px;font-family:arial,sans-serif"><br></span></div>
<div><span style="font-size:13px;font-family:arial,sans-serif">Ha nem akkor azt a megoldást tudom elképzelni hogy marad az eredeti regexp, amit az első levélben írtam, de kombinálnám azzal hogy előszőr végigmegyek a string-en, és </span><span style="font-size:13px;font-family:arial,sans-serif">egy boolean tömbben </span><span style="font-size:13px;font-family:arial,sans-serif">minden karakter pozicióra  letenném hogy páros vagy páratlan számú aposztróf volt ezidáig. Amikor a regexp általi találatokon végigfutok, csak a tömbből kéne vizsgálni hogy páros számú aposztróf volt e idáig ezen a pozíción. Ha igen akkor &quot;valódi&quot; paraméter mely &quot;?&quot;-el helyettesítendő.</span></div>

<div><span style="font-size:13px;font-family:arial,sans-serif"><br></span></div><div><span style="font-size:13px;font-family:arial,sans-serif">Egyébként köszönöm mindenkinek a sok választ.</span></div>
<div><span style="font-size:13px;font-family:arial,sans-serif"><br></span></div><div><span style="font-size:13px;font-family:arial,sans-serif">Azért abban erősítsetek meg, tényleg igaz-e, hogy a &quot;:x&quot; valóban paraméter abban az esetben ha páros számú aposztróf fordult elő őt megelőzően ?  </span></div>

<div><span style="font-size:13px;font-family:arial,sans-serif"><br></span></div><div><span style="font-size:13px;font-family:arial,sans-serif">Joe  </span></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">2013. december 2. 10:55 Suller Andras írta, <span dir="ltr">&lt;<a href="mailto:suller.andras@gmail.com" target="_blank">suller.andras@gmail.com</a>&gt;</span>:<div><div class="h5"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Ebben az esetben aligha fogod tudni elkerulni, hogy a regularis<br>
kifejezesben &quot;szamold&quot; az aposztrofokat a szoveg elejetol kezdve. Ami<br>
azt jelenti, hogy valoszinuleg a feldolgozot is modositanod kell majd.<br>
Egy ilyen regex peldaul csak az aposztrofon kivuli azonositokat ismeri<br>
fel (kihasznalva azt, hogy SQL-ben az aposztrofot dupla aposztroffal<br>
kell escape-elni):<br>
^((?:[^&#39;]*&#39;[^&#39;]*&#39;)+[^&#39;]*):[a-z]+<br>
<br>
Javascript-ben igy lehet hasznalni peldaul (ezen a gepen nincs java,<br>
de gondolom ott is hasonlo):<br>
&gt; s=&quot;SELECT &#39;ez nem&#39;&#39;:kell&#39; FROM valami WHERE id = :id and &#39;:&#39; = &#39;x&#39; or <a href="http://p.id" target="_blank">p.id</a>=:pid and p.selected&quot;<br>
&gt; s=s.replace(/^((?:[^&#39;]*&#39;[^&#39;]*&#39;)+[^&#39;]*):[a-z]+/, &#39;$1?&#39;)<br>
&#39;SELECT \&#39;ez nem\&#39;\&#39;:kell\&#39; FROM valami WHERE id = :id and \&#39;:\&#39; =<br>
\&#39;x\&#39; or <a href="http://p.id" target="_blank">p.id</a>=? and p.selected&#39;<br>
&gt; s=s.replace(/^((?:[^&#39;]*&#39;[^&#39;]*&#39;)+[^&#39;]*):[a-z]+/, &#39;$1?&#39;)<br>
&#39;SELECT \&#39;ez nem\&#39;\&#39;:kell\&#39; FROM valami WHERE id = ? and \&#39;:\&#39; = \&#39;x\&#39;<br>
or <a href="http://p.id" target="_blank">p.id</a>=? and p.selected&#39;<br>
<br>
Viszont en erre nem mondanam, hogy elegans...<br>
<br>
Andras<br>
<br>
2013/12/2 József Keresztes &lt;<a href="mailto:xesj.hu@gmail.com" target="_blank">xesj.hu@gmail.com</a>&gt;:<br>
<div><div>&gt;&gt; Milyen karakterek lehetnek a : elott? Ha csak szokoz, akkor az segithet.<br>
&gt;<br>
&gt; Bármilyen karakter állhat. pl:   oszlopnev||:x<br>
&gt;<br>
&gt; De az aposztrófon belül is lehet hogy van szóköz, lehet hogy nincs.<br>
&gt;<br>
&gt;<br>
&gt; 2013/12/2 Suller Andras &lt;<a href="mailto:suller.andras@gmail.com" target="_blank">suller.andras@gmail.com</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Dec 1, 2013 11:43 PM, &quot;József Keresztes&quot; &lt;<a href="mailto:xesj.hu@gmail.com" target="_blank">xesj.hu@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt; String originalSql = &quot;select * from telepules where kod = :x&quot;;<br>
&gt;&gt;<br>
&gt;&gt; Milyen karakterek lehetnek a : elott? Ha csak szokoz, akkor az segithet.<br>
&gt;&gt;<br>
&gt;&gt; Andras<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Javalist mailing list<br>
&gt;&gt; <a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.javaforum.hu</a><br>
&gt;&gt; <a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Javalist mailing list<br>
&gt; <a href="mailto:Javalist@lists.javaforum.hu" target="_blank">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>
&gt;<br>
_______________________________________________<br>
Javalist mailing list<br>
<a href="mailto:Javalist@lists.javaforum.hu" target="_blank">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>
</div></div></blockquote></div></div></div><br></div>
<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>
<br></blockquote></div><br></div>