Expressions/Scripts/Presets

Moderator: Paul Tuersley

 
predat
Topic Author
Posts: 1
Joined: Tue Nov 18, 2008 2:53 am

RegExp bug ?

Fri Feb 10, 2017 9:44 am

Hello,
 
it's drive me crazy...
I'm have test this sample code with node.js, in a developper console (firefox), in ExtenSript Toolkit and in AfterEffects:
 

var reg = new RegExp("^(?!.*auto-save).*aep$");
var string1 = "Comp.aep"
var string2 = "Comp auto-save.aep"
alert(reg.test(string1) + " " + reg.test(string2));


What i want is find "aep" in a string but exclude "auto-save"; easy...no?
All javascript engines return correct result ("true false") but not ExtendSript nor AfterEffects ("true true").
 
runegan
Posts: 19
Joined: Fri Nov 04, 2016 3:18 pm
Contact:

Re: RegExp bug ?

Thu Feb 23, 2017 5:57 am

It seems to be a bug, but I can't find any information if that is because negative lookahead regex was not implemented in the javascript engine extendscript is using or a bug in extendscript itself.

Either way, you can achieve what you are trying to do by using two regexes and testing the string against both:
var reg1 = new RegExp("aep$");
var reg2 = new RegExp("auto-save");
var string1 = "Comp.aep"
var string2 = "Comp auto-save.aep"
alert((reg1.test(string1) && !reg2.test(string1)) + " " + (reg1.test(string2) && !reg2.test(string2)));
// Alerts "true false"

Who is online

Users browsing this forum: No registered users and 4 guests