[Javalist] 'Pattern'

Istvan Verhas istvan at verhas.com
2012. Jan. 3., K, 17:27:41 CET


http://www.javaworld.com/javaworld/jw-04-2007/jw-04-jdbc.html
Az első workaround, hogy változóban számolod, hogy hányadik behelyettesítésnél tartasz és akkor be tudsz szúrni egy ?-t simán (kajakra).
A második egy NamedPreparedStatement osztály teljes forráskóddal. Nem regexp-t használ!

Verhás István
JIRA szakértő
Verhás & Verhás Szoftver Manufaktúra Kft.
istvan at verhas.com
t: +36(30)3997117
skype: verhasi

On Jan 3, 2012, at 5:02 PM, Keresztes Jozsef wrote:

> Mert a „?” nagyon béna megoldás a JDBC-ben mivel szerepelhet egy sql stringben 20 kérdőjel,
> és azt mondod hogy a 13. legyen behelyettesítve XY-nal.
> Képzeld hogy ha átalakítod az sql-edet és bejön közé mégegy „?” rossz az egész J
> Én máig csodálkozok hogy maradt ez az ősrégi ?-es megoldás.  
>  
> From: istvan.ketler at lhsystems.com [mailto:istvan.ketler at lhsystems.com] 
> Sent: Tuesday, January 03, 2012 4:56 PM
> To: javalist at lists.javaforum.hu
> Subject: Re: [Javalist] 'Pattern'
>  
> Az első és utolsó emailed között eltelt 19 perc (eddig), ennél hamarabb tudtál volna írni egy static metódust amelyik elvégzi neked ezt az egyszerű mutatványt. Pattern.compile(..).... helyett aztán használhatnád ezt a metódust nagyjából ugyanúgy.
>  
> Amúgy miért nem jó a ?, miért kell helyette :?
> István Ketler
> Team Leader 
> Lufthansa Systems Hungaria Kft. 
> Development Center Pest 
> - Team "Schedule & Revenue Management"
> - Team "Business Intelligence & Database Solutions"
> Neumann János u. 1/e
> 1117 Budapest
> Hungary
> Tel: +36 1 887-2815 
> Fax: +36 1 887-2977
> Mobile: +36 30 600-4936
> Room: Infopark E, Room LH1-31
> e-mail: istvan.ketler at lhsystems.com 
> Internet: www.LHsystems.hu
>  
>  
> Sitz der Gesellschaft / Corporate Headquarters: Lufthansa Systems Hungaria Kft, Budapest, Fövarosi Birosag 01-09-463417
> Geschaeftsfuehrung / Management Board: Monika Houck
>  
> From: javalist-bounces at lists.javaforum.hu [mailto:javalist-bounces at lists.javaforum.hu] On Behalf Of Keresztes Jozsef
> Sent: Tuesday, January 03, 2012 4:40 PM
> To: Java lista
> Subject: Re: [Javalist] 'Pattern'
>  
> JDBC-ben csak „?”-lel lehet a változókat jelölni, ehelyett lenne a „:”-os váltózó használat:
>  
> UPDATE xxx SET datum = :date WHERE id = :id
>  
> ez így szép és jó, meg tudom találni a „:”-os változókat, helyettesítem „?”-re, megkapja
> a JDBC az így átalakított stringet stb stb, minden jó, csak az a baj amikor a „:” nem jelent változót,
> mert egy stringen belül van. Ekkor nem kell „?”-re alakítani…   
>  
> From: Peter Verhas [mailto:peter at verhas.com] 
> Sent: Tuesday, January 03, 2012 4:31 PM
> To: Java lista
> Subject: Re: [Javalist] 'Pattern'
>  
> Ez csak azokat veszi ki, ahol az aposztróf közvetlenül a : előtt vagy mögötte van. A ' barmi : barmi ' esetén nem.
>  
> A look ahead és look back patternekkel az a ban, hogy lehet előtte és utána is ', csak a paritást is számolnia kellene. Ezért én sem küzdenék sokáig pattern-nel, inkább szétvágnám a stringet, utána keresnék, és aztán összefűzném.
>  
> Amúgy mire kell?
>  
> --
> Verhás Péter
> ügyvezető
> Verhás & Verhás Szoftver Manufaktúra Kft.
> peter at verhas.com
> +36(30)9306805
> skype: verhas
>  
>  
> 
>  
> On 2012.01.03., at 16:24, Istvan Bencze wrote:
>  
> 
> Szia!
>  
>  
> Ezt a mintát próbáltad már?
> 
> [^']:[^']
>  
> 
> Üdv,
> Bencze István
>  
> 
> 2012/1/3 OSTYÁNI Péter <panteros at dev-labs.com>
> Szia!
> 
> Szerintem akkor neked a lookahead/lookbehind patternek kellenek:
> 
> http://www.regular-expressions.info/lookaround.html
> 
>  
> üdv: ostya
> 
>  
> On Tue, 3 Jan 2012 16:10:27 +0100, Keresztes Jozsef wrote:
> 
> Sziasztok !
> 
> Egy sql stringen belül keresek egy másik stringet, a Matcher és Pattern osztályok segítségével,
> egyszerüsítsük a dolgot, csak a ":" karaktert keressük: 
> 
> Matcher matcher = Pattern.compile(":").matcher(sqlString);
> 
> A probléma azzal van hogy csak azokat a ":" karaktereket szeretném megkeresni az sql stringben ami nem aposztrófok között van például:
> 
> SELECT 'ez nem'':kell' FROM valami WHERE id = :id and ':' = 'x'
> 
> Vagyis itt a 2. kettőspont lenne csak találat a többi nem.
> Valaki foglalkozott már ilyen keresési minta megírásával ? 
> Én egyelőre nem tudom elképzelni... 
> 
> Joe
>  
> 
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
>  
> 
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
> 
>  
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
>  
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20120103/d09aa035/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4553 bytes
Desc: not available
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20120103/d09aa035/attachment.bin>


További információk a(z) Javalist levelezőlistáról