[Javalist] RegExp probléma: nem aposztrófok közé zártak felismerése
Tamás Demeter
demeterft at dreamgate-design.com
2013. Dec. 1., V, 19:45:46 CET
Szia,
Én ezt próbálnám meg kereső mintaként: [^a-z_0-9]:[a-z_0-9]+
Üdv:
Tamás
On 2013-12-01 17:42, József Keresztes wrote:
> Sziasztok !
>
> 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
> egyszerű probléma megoldására. A problémát már régebben is
> felvetettem, de akkor nem született igazi megoldás,
> és mivel én sem oldottam meg azóta (mert nem elég elegánsak a
> megoldások), újra próbálkozom.
>
> Arról van szó hogy egy SQL stringben kettősponttal jelöljük a
> paramétereket például:
>
> String originalSql = "select * from telepules where kod = :x";
>
> 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:
>
> Matcher matcher = Pattern.compile(":[a-z_0-9]+",
> Pattern.CASE_INSENSITIVE).matcher(originalSql);
>
> majd a matcher.find() -dal mindent meg lehet oldani, a "?"-es cserét stb.
>
> Azonban a probléma jelentkezik például egy ilyen sql-nél:
>
> String originalSql = "select to_char(datum,'hh24:mi:ss') from
> telepules where kod = :x";
>
> 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
> a feltételeknek, csak a :x -nek, csak az utóbbit kellene ?-re cserélni.
>
> 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.
>
> Ha van erre valakinek megoldása azt szívesen fogadnám.
>
> Joe
>
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20131201/97dfdeae/attachment.html>
További információk a(z) Javalist levelezőlistáról