<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>