<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Szia,<br>
<br>
Én ezt próbálnám meg kereső mintaként: [^a-z_0-9]:[a-z_0-9]+<br>
<br>
Üdv:<br>
Tamás<br>
<div class="moz-signature"><br>
<br>
On 2013-12-01 17:42, József Keresztes wrote:<br>
</div>
</div>
<blockquote
cite="mid:CACOtzjiaBi-EMT8Af7DVgsd+JRoDS2BhKJ5EK7uzEZRr+5fyXg@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>Sziasztok !</div>
<div><br>
</div>
<div>Megnéztem és mivel úgy kb. 300 ember van ezen a
levelezőlistán, ennyi embernek kell hogy legyen frappáns
ötlete egy látszólag </div>
<div>egyszerű probléma megoldására. A problémát már régebben is
felvetettem, de akkor nem született igazi megoldás,</div>
<div>és mivel én sem oldottam meg azóta (mert nem elég elegánsak
a megoldások), újra próbálkozom.</div>
<div><br>
</div>
<div>Arról van szó hogy egy SQL stringben kettősponttal jelöljük
a paramétereket például:</div>
<div><br>
</div>
<div><font style="background-color:rgb(243,243,243)"
color="#0000ff" face="courier new, monospace">String
originalSql = "select * from telepules where kod = :x";</font></div>
<div><br>
</div>
<div>Mivel a JDBC-ben nincs ":x" ezért "?" -re kell alakítani.
Erre a megoldás egyszerű, régen alkalmazom a következő kódot: </div>
<div><br>
</div>
<font color="#0000ff" face="courier new, monospace">Matcher
matcher = Pattern.compile(":[a-z_0-9]+",
Pattern.CASE_INSENSITIVE).matcher(originalSql);</font><br>
<div><br>
</div>
<div>majd a matcher.find() -dal mindent meg lehet oldani, a
"?"-es cserét stb.</div>
<div><br>
</div>
<div>Azonban a probléma jelentkezik például egy ilyen sql-nél:</div>
<div><br>
</div>
<div>
<div><font color="#ff0000" face="courier new, monospace">String
originalSql = "select to_char(datum,'hh24:mi:ss') from
telepules where kod = :x";</font></div>
</div>
<div><br>
</div>
<div>Sajnos az előző pattern-es megoldás nem tudja figyelembe
venni hogy aposztrófok között van a :mi és a :ss ezeknek nem
kellene megfelelni </div>
<div>a feltételeknek, csak a :x -nek, csak az utóbbit kellene
?-re cserélni.</div>
<div><br>
</div>
<div>Szóval számomra az lenne az elfogadható frappáns megoldás
ha ezt kizárólag a regexp kifejezés átírásával lehetne
megoldani.</div>
<div><br>
</div>
<div>Ha van erre valakinek megoldása azt szívesen fogadnám.</div>
<div><br>
</div>
<div>Joe</div>
<div><br>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Javalist mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Javalist@lists.javaforum.hu">Javalist@lists.javaforum.hu</a>
<a class="moz-txt-link-freetext" href="http://lists.javaforum.hu/mailman/listinfo/javalist">http://lists.javaforum.hu/mailman/listinfo/javalist</a>
</pre>
</blockquote>
<br>
</body>
</html>