Need help with a regex search and replace
-
I’ve inherited an old ASP Classic website with over 2000 files in it :(
I need to rework the session code, replacing
Session(“KeyOfSomeKind”) = “ValueOfSomeKind”
with
WriteSession(“KeyOfSomeKind”, “ValueOfSomeKind”)
and
var x = Session(“KeyOfSomeKind”)
with
var x = ReadSession(“KeyOfSomeKind”)
[OK, so the last one is just a regular S+R, but I wanted to include it for full complexity]
Is there a regex notation for Notepad++ that could do this over all the files?
Steve
-
Hello @Steve-Hobley
you can do regex with Find in Files dialog.
Add you regexes for find and replace,
maybe modify the filter so that only asp code pages get accessed
set directory to your wwwroot directory and check in-all subfolders
check regular expression in search mode section
press find in files to see if the code is as expected and to have a reference of the files which will get modified
then press replace in all filesBe sure you have a backup in case of a disaster ;-)
Cheers
Claudia -
Thanks… I got as far as running a regex for find in files, but what I really need help with is constructing the regex expression.
Has anyone done anything similar? -
Hello @Steve-Hobley,
from the given example I would do it like
find: ^\s*(Session\()(".*?")\)\s*=\s*(".*?")[\t\f ]*$ replace: Write\1\2, \3\)
It is assumed that before Session word there are either non or multiple whitespace chars only nothing else
and that the code is like provided, no additional spaces likeSession ( "KeyOfSomeKind" ) = "ValueOfSomeKind"
As you already said the second is a simple Replace.
Cheers
Claudia -
Thanks! That did the trick.