[Javalist] 'Pattern'
Keresztes Jozsef
jkeresztes at vati.hu
2012. Jan. 4., Sze, 09:28:06 CET
A feladatfelvetés nem volt béna, az én forrásom ilyen volt már a kérdés felvetése előtt is régóta:
Matcher matcher = Pattern.compile(":[a-z_0-9]+", Pattern.CASE_INSENSITIVE).matcher(sql);
De a lényeg az hogy a bonyolítás elkerülése miatt a feladat ugyanaz mintha meg kéne
állapítani hogy egy „:” vagy egy „bolha” idézőjelek között van vagy sem.
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/53dd2fb1/attachment.html>
További információk a(z) Javalist levelezőlistáról