[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