![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
var templDir = "D:\\Ida\\undsoweiter\\"; var dir = "D:\\Ida"; var d = new RegExp(dir,"i"); |
|
alert(/D:\\Ida/.test(templDir)); |
#3
| |||
| |||
|
|
alert(/D:\\Ida/.test(templDir)); ^^ |
#4
| |||
| |||
|
|
das Problem ist also, das \ sowohl in Strings als auch in regulaeren Ausdruecken als Escapezeichen verwendet wird, so dass man bei Verwendung von new RegExp(string) darauf achten muss, dass man \ verdoppelt: var dir = "D:\\\\Ida"; |
#5
| |||
| |||
|
|
das Problem ist also, das \ sowohl in Strings als auch in regulaeren Ausdruecken als Escapezeichen verwendet wird, so dass man bei Verwendung von new RegExp(string) darauf achten muss, dass man \ verdoppelt: var dir = "D:\\\\Ida"; |
#6
| |||
| |||
|
|
alert(new RegExp(dir.replace(/\\/g,"\\\\"),"i").test(templDir)); |
#7
| |||
| |||
|
|
Fünf Zeichen kürzer :-) und vielleicht etwas performanter wäre: alert(templDir.toLowerCase().indexOf(dir.toLowerCa se())>-1); |
#8
| |||
| |||
|
|
Dietmar Meier schrieb: ... Fünf Zeichen kürzer :-) und vielleicht etwas performanter wäre: alert(templDir.toLowerCase().indexOf(dir.toLowerCa se())>-1); |
#9
| |||
| |||
|
|
gruss Dietmar, hallo Daniel, |
|
Dietmar Meier schrieb: ... Fünf Zeichen kürzer :-) und vielleicht etwas performanter wäre: alert(templDir.toLowerCase().indexOf(dir.toLowerCa se())>-1); breiter angelegt, aber auf dauer sehr nuetzlich waere: |
|
String.prototype.toRegExpString = function() { // does not work in netscape 4; return this.replace(/([\^\$\.\*\+\?\=\!\:\|\\\/\(\)\[\]\{\}])/g,"\\$1"); }; |
#10
| |||
| |||
|
|
Das mag ich bedreifeln. Nicht immer will man alle Spezialzeichen als Literale haben. Dass es für dieses Problem keinen allgemeinen Lösungsalgorithmus gibt, wurde hier aber IIRC schonmal erwähnt. |
|
Weshalb sollte das in Netscape 4 nicht funktionieren? |
|
peter seliger wrote: gruss Dietmar, hallo Daniel, Wir lesen hier alle mit. |
![]() |
| Thread Tools | |
| Display Modes | |
| |