Thread Regex Match trifft nicht case-sensitive (7 answers)
Opened by roooot at 2008-06-18 17:57

roooot
 2008-06-18 18:25
#111234 #111234
User since
2008-03-03
276 Artikel
BenutzerIn
[default_avatar]
Klar den i hatte ich auch gar nicht in meinem Code. Ist beim Abschreiben hinzugekommen

Folgendes will ich machen:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
    my $sql_formed_values =
        join ',',
        map {
            if($_->{value} =~ /`[\w]*`\s*[\+|-]\s*[\d]+/xms ||   # sql algebra
              $_->{value} =~ /[A-Z\]*/xms) {                  #sql command
                qq{`$_->{name}` = $_->{value}}
            }
            else {
                qq{`$_->{name}` = '$_->{value}'}
            }
        } @value_array;

@value_array ist ein Array mit lautet Gashes drin, nach dem Schema
Code (perl): (dl )
1
2
3
4
{
     name=>'foo',
     value=>'bar',
}
Nun will ich hier auf SQL Befehle reagieren, die in meinen Fällen immer groß geschrieben sind und () am Ende haben (2. Case), in einem Wort: NOW() oder auch SQl Rechenaufgaben (1. Case).
Allerdings erstellt er mir, wenn ich das so mache bei folgenden Werten (diese werden in Hases wie oben umgeformt):
Code (perl): (dl )
1
2
3
4
# name    => value
timestamp => 'NOW()',
filename  => '1:cat.js#1',
hash      => '7a3aa47569e0a5dc78b9bcbc29ad08dc650eb7ed',

das hier:
Code: (dl )
`hash` = 7a3aa47569e0a5dc78b9bcbc29ad08dc650eb7ed,`timestamp` = NOW(),`filename` = 1:cat.js#1


Er ignorniert also Groß und kleinschreibung.



Wo muss ich denn $ einbauen, damit die () nur am Schluss stehen dürfen? So würde ich vorschlagen :)
Code: (dl )
^[A-Z]*[()]*$
Viele Grüße :)

View full thread Regex Match trifft nicht case-sensitive