[Javalist] 'Pattern'
Keresztes Jozsef
jkeresztes at vati.hu
2012. Jan. 4., Sze, 09:32:52 CET
S mivel valóban nagyon ritkán jön elő egy sql-ben apósztrófok között a kettőspont, megkerülhető egy CHR(58) használatával.
Arra is tudnék megoldást hogy én buherálok és vizsgálgatok aposztrófokat oda-vissza (stringet vágok stb),
de a szép megoldás az lett volna (ezért kérdeztelek titeket) hogy csak annyi változtatással hogy a pattern-t
kiegészítem és egy árva plusz sor sem kerül be a java kódba megoldható-e.
Tényleg megfogalmazható-e csupán a pattern átírásával ?
Aztán sajnos elment a dolog más irányba is (Spring,… )
From: Gábor Garami [mailto:gabor.garami at hron.me]
Sent: Tuesday, January 03, 2012 7:28 PM
To: Java lista
Subject: Re: [Javalist] 'Pattern'
Bocs, hogy belepof, de a feladatra teljesen jo a regex, csak a feladatfelvetes bena volt.
A kigyujtesre a regex: (:[a-z0-9])
Az idezojelek kozti reszeket meg siman uritheted.
Bar megmondom oszinten, ilyen string ertelmes sql queryben nem fordul elo, idezojelek kozott sem. Mivel preprocessben hasznalod fel a regexet, igy ilyenkor meg nincs untrusted user input, utana meg mar mindegy. Csak magadat kell korlatoznod, hogy ne akarj olyat irni, hogy SELECT * FROM valami WHERE ':bla' = :bla. IMHO ez igy kb. sosem fordul elo.
A tokenizalas jo otlet, a regexszel kigyujtott talalatokat vegig lehet keresgelni.
Ezt a levelet telefonrdtfel ez鲴 esetenk鮴 髥zethibt tartalmazhat.
Garami Gr
E-mail: gabor.garami at hron.me
Web: http://hron.me
Skype: hron84
MSN: hrgy at vipmail.hu
2012.01.03. 18:11, "Tam᳠Magyar" <magyusz at gmail.com> ezt a:
Nem tudom, hogy erre ez a legjobb megoldᳬ de StreamTokenizer helyett
ajᮬom ezt:
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html
ɮ mᲠsikerrel haszn᬴am.
Magyusz
2012/1/3 Suller Andras <suller.andras at gmail.com>:
> 2012/1/3 Keresztes Jozsef <jkeresztes at vati.hu>:
>> Sziasztok !
>>
>> Egy sql stringen bell keresek egy mᳩk stringet, a Matcher 鳠Pattern osztᬹok seg駩vel,
>> egyszersk a dolgot, csak a ":" karaktert keressk:
>>
>> Matcher matcher = Pattern.compile(":").matcher(sqlString);
>>
>> A probl魡 azzal van hogy csak azokat a ":" karaktereket szeretn魠megkeresni az sql stringben ami nem aposztr kt van p鬤ᵬ:
>>
>> SELECT 'ez nem'':kell' FROM valami WHERE id = :id and ':' = 'x'
>>
>> Vagyis itt a 2. kettnt lenne csak talᬡt a t nem.
>> Valaki foglalkozott mᲠilyen keres鳩 minta megsᶡl ?
>> ɮ egyelnem tudom elk鰺elni...
>
> Regen hasznaltam mar, de azt hiszem a StreamTokenizer az, ami kezeli
> ezt a problemat. Marmint hogy az '...' szovegreszt egy tokenkent adja
> vissza, igy meguszod a regularis kifejezest.
>
> Andras
> _______________________________________________
> 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
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20120104/2253f52d/attachment.html>
További információk a(z) Javalist levelezőlistáról