Skulle svara på "Hammers" inlägg om Replace och gjorde en funktion som använder sig av RegExp-objektet. Jag tror jag hittade en bugg i det.
Om jag har strängen:
Leffa (Fredag, Tisdag) Arne Svante (Onsdag)
och vill ta bort allt inom parateserna så skall mitt reguljära uttryck se ut som följer:
\(.*\)
Vilket matchar allt inom paranteser, inklusive parateserna. Men det uttrycket är greedy vilket betyder att om man tar bort allt som den matchar så får man kvar:
Leffa
För att göra det till ett s.k. non-greedy så skall uttrycket se ut så här:
\(.*?\)
Allt enligt MSDN Library:
By placing the '?' after a '*', '+', or '?' quantifier, the expression is transformed from a greedy to a non-greedy, or minimal, match.
Källa: MSDN Library, Oct 2000.
Vilket resulterar i följande felmeddelande:
Microsoft VBScript runtime (0x800A139A)
Unexpected quantifier
Lite putt blir man ju...
------------------
/ Torbjörn Hansson, webbutvecklare
Endero Sverige
[Redigerat av toha den 06 feb 2001]