gruss BSF,
/*
gesucht werden sollen also _alle_ durch einfache bzw. durch doppelte
hochkommata eingefassten zeichensequenzen:
1)
['"] - *matched* genau ein zeichen, welches entweder ein einfaches
oder ein doppeltes hochkomma ist.
2)
[^'"]* - *matched* genau keins, eins oder mehrere zeichen, die weder
einfache noch doppelte hochkommata sind.
3)
(['"]) - wie (1), nur das dieses zeichen auf einem internen ueber
»1« zu adressierenden *speicher* abgelegt wird.
4)
[^\\1]* - wie (2), nur das hier schon mit der internen gerade unter
(3) genannten referenz auf deas erste *gematchte* zeichen gearbeitet
wird.
5)
([^\\1]*) wie (4), nur das der ganze kram jetzt ebenfalls gespeichert
wird - diesmal unter der internen referenz »2«.
6)
\1 wie unter (1), nur das hier ebenfalls wieder mit der internen
referenz, wie auch gerade unter (4) beschrieben, gearbeitet wird.
arbeitsprobe - bitte *copy and paste* unter [link:http://jconsole.com@title=jconsole.com]:
*/
var str, regX;
str = "select xyz from table1 where col1 like 'a%' and col2 like \"b%\"";
regX = (/(['"])([^\\1]*)\1/g);
print(regX.test(str));
print(str.replace(regX, "LOWER($1$2$1)"));
str = "select xyz from table1 where col1 like \"c%\" and col2 like 'd%'";
regX = (/(['"])([^\\1]*)\1/g);
print(regX.test(str));
print(str.replace(regX, (function () {
return ("LOWER(" + arguments[1] + arguments[2] + arguments[1] + ")");
})));
so long - peterS. - pseliger@gmx.net
--
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford
ie:( fl:) br:> va:( ls:& fo:) rl:) n3;} n4:} ss:} de:µ js:} mo:? zu:]
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford
ie:( fl:) br:> va:( ls:& fo:) rl:) n3;} n4:} ss:} de:µ js:} mo:? zu:]