Double lookaheads need a range of things to consider, so you need to add wildcards to their patterns, for example:
>>echo "foo bar \$NOTESPRE \$INPUT baz" | ack "^(?=.*$NOTESPRE)(?=.*$INPUT).*$"
returns:
foo bar $NOTESPRE $INPUT baz
If you need to search a particular directory for files containing this line, just specify the directory on the command line:
ack "^(?=.*$NOTESPRE)(?=.*$INPUT).*$" path\to\directoryToSearch
-interpret
has no direct parallel in regex.