Schrift
[thread]8544[/thread]

RegEx Problem (Seite 2)



<< |< 1 2 >| >> 14 Einträge, 2 Seiten
badblock
 2006-12-04 18:11
#72152 #72152
User since
2006-06-01
10 Artikel
BenutzerIn
[default_avatar]
[quote=PerlProfi,04.12.2006, 17:00]Ich verstehe leider immer noch nicht was an meiner RegEx falsch sein soll?[/quote]
Hi,

der Fehler liegt hier:
Quote
Code: (dl )
... like ('.*?') ...


d.h. nach dem Hochkomma suchst du nicht-gierig bis zum nächsten. Das ist jedoch falsch, denn das SQL Statement kann ja auch selbst Hochkommas enthalten, die durch ein "vorgeschaltetes" Hochkomma escaped werden, d.h. das z.B. die Bedingung "col like '%''%'" alle Zeilen sucht, die ein Hochkomma in der Spalte col enthalten.

Deine RE würde nur das '%' matchen.
PerlProfi
 2006-12-04 19:06
#72153 #72153
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Nee, ich erhalte bei mir die Ausgabe:
Code: (dl )
1
2
3
4
1: (undef)
2: col
3: '%''%'
4: (undef)


Habe allerdings (\w+\.\w+) in (\w+\.?\w*) geändert, damit auch nur 'col' funktioniert.
Den Teil nach dem like habe ich so gelassen wie er oben steht.

Es ist das richtige Ergebnis, weil ich ja noch angebe, dass ein 'and' danach kommen soll...

MfG PerlProfi
badblock
 2006-12-04 21:43
#72154 #72154
User since
2006-06-01
10 Artikel
BenutzerIn
[default_avatar]
[quote=PerlProfi,04.12.2006, 18:06]Nee, ich erhalte bei mir die Ausgabe:
Code: (dl )
1
2
3
4
1: (undef)
2: col
3: '%''%'
4: (undef)


Habe allerdings (\w+\.\w+) in (\w+\.?\w*) geändert, damit auch nur 'col' funktioniert.
Den Teil nach dem like habe ich so gelassen wie er oben steht.

Es ist das richtige Ergebnis, weil ich ja noch angebe, dass ein 'and' danach kommen soll...

MfG PerlProfi[/quote]
Ja, aber es könnte ja ein "' and " im like-Vergleichstring auftauchen (in meinem Fall gar nicht mal so Unwarscheinlich), dann gibts wieder ein Problem. Füttere deine RegEx doch mal mit:
Code: (dl )
my $a = "my.col like '%'' and %' and another.col = 'abc'";

damit du siehst, was ich meine. Die ('(?:''|[^'])*')-Variante ist sicherer, oder?
PerlProfi
 2006-12-06 20:27
#72155 #72155
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Ok hast Recht.
<< |< 1 2 >| >> 14 Einträge, 2 Seiten



View all threads created 2006-12-01 16:06.