Regex problem
Regex problem
I've recently started using Everything and am very impressed with it's speed and ease of use.
I have no experience with regex and am not even sure if regex is the right method to use.
The filenames always follows the same format
XXXX-YYYYYY-Iss?
XXXX is a four digit number which defines a component type
YYYYYY is a unique 6 digit number
Iss? is the revision issue, the ? can be any capital letter between A-Z or a number from 1 to whatever.
What I want to do is find the latest revision of a file.
Example of files that might exist
0020-001234-IssA
0020-001234-IssB
0020-001234-IssC
0020-001234-Iss1
0020-001234-Iss2
I want to find the last file 0020-001234-Iss2
I imagine this is a simple task, but one that is beyond me!
Regards
Boz
I have no experience with regex and am not even sure if regex is the right method to use.
The filenames always follows the same format
XXXX-YYYYYY-Iss?
XXXX is a four digit number which defines a component type
YYYYYY is a unique 6 digit number
Iss? is the revision issue, the ? can be any capital letter between A-Z or a number from 1 to whatever.
What I want to do is find the latest revision of a file.
Example of files that might exist
0020-001234-IssA
0020-001234-IssB
0020-001234-IssC
0020-001234-Iss1
0020-001234-Iss2
I want to find the last file 0020-001234-Iss2
I imagine this is a simple task, but one that is beyond me!
Regards
Boz
Re: Regex problem
Would you be willing to adopt a new revision numbering scheme and rename all your files, dropping the A-Z and using 001-999 instead? And also a filename prefix for this family of files? eg:
BOZTOOLZ-0020-001234-rev005
Everything doesn't have a mechanism sort in that order, with letters first and then multi-digit numbers.
I can help you write a batch file to rename the files to this new format.
BOZTOOLZ-0020-001234-rev005
Everything doesn't have a mechanism sort in that order, with letters first and then multi-digit numbers.
I can help you write a batch file to rename the files to this new format.
Re: Regex problem
Similar to this question..
To match XXXX-YYYYYY-Iss with regex, please try the following search:
regex:File\d-Rev-[A-Z]
regex:\d\d\d\d-\d\d\d\d\d\d-Iss
regex: = enable regular expressions.
\d = match a single digit
You will need Everything 1.5 alpha or later.
<regex:^(\d\d\d\d-\d\d\d\d\d\d-Iss)A(.*)$ !file-exists:\1B\2 !file-exists:\1C\2> | <regex:^(\d\d\d\d-\d\d\d\d\d\d-Iss)B(.*)$ !file-exists:\1C\2> | <regex:^(\d\d\d\d-\d\d\d\d\d\d-Iss)C(.*)$> | <regex:^(\d\d\d\d-\d\d\d\d\d\d-Iss)1(.*)$ !file-exists:\12\2 !file-exists:\13\2> | <regex:^(\d\d\d\d-\d\d\d\d\d\d-Iss)2(.*)$ !file-exists:\13\2> | <regex:^(\d\d\d\d-\d\d\d\d\d\d-Iss)3(.*)$>
Only Rev A-C and 1-3 is supported with the above.
Is there a Rev higher than C or 3?
To match XXXX-YYYYYY-Iss with regex, please try the following search:
regex:File\d-Rev-[A-Z]
regex:\d\d\d\d-\d\d\d\d\d\d-Iss
regex: = enable regular expressions.
\d = match a single digit
This is trickier to do..I want to find the last file 0020-001234-Iss2
You will need Everything 1.5 alpha or later.
<regex:^(\d\d\d\d-\d\d\d\d\d\d-Iss)A(.*)$ !file-exists:\1B\2 !file-exists:\1C\2> | <regex:^(\d\d\d\d-\d\d\d\d\d\d-Iss)B(.*)$ !file-exists:\1C\2> | <regex:^(\d\d\d\d-\d\d\d\d\d\d-Iss)C(.*)$> | <regex:^(\d\d\d\d-\d\d\d\d\d\d-Iss)1(.*)$ !file-exists:\12\2 !file-exists:\13\2> | <regex:^(\d\d\d\d-\d\d\d\d\d\d-Iss)2(.*)$ !file-exists:\13\2> | <regex:^(\d\d\d\d-\d\d\d\d\d\d-Iss)3(.*)$>
Only Rev A-C and 1-3 is supported with the above.
Is there a Rev higher than C or 3?
Re: Regex problem
Thanks for the quick reply.
I'm using 1.5 alpha.
There could be Iss higher than C, H is the highest I have ever seen,
realisticaly the highest numeric value would not exceed 10.
I'm using 1.5 alpha.
There could be Iss higher than C, H is the highest I have ever seen,
realisticaly the highest numeric value would not exceed 10.
Re: Regex problem
So the old-to-new order is: A B C D E F G H 0 1 2 3 4 5 6 7 8 9 ?
That is quite peculiar, as that is not the alphabetical order. Computerprograms (including Everything) will have problems with that ...
That is quite peculiar, as that is not the alphabetical order. Computerprograms (including Everything) will have problems with that ...
Re: Regex problem
It's not very practical, but....
#define:
supports A-Z and 0-9
Code: Select all
#define:<p[x]=#<:regex:^(\d\d\d\d-\d\d\d\d\d\d-Iss)#x:(.*)$#>:>#define:<e[x]=#<:file-exists:\1#x:\2#>:><#p:<A> !#e:<B> !#e:<C> !#e:<D> !#e:<E> !#e:<F> !#e:<G> !#e:<H> !#e:<I> !#e:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<B> !#e:<C> !#e:<D> !#e:<E> !#e:<F> !#e:<G> !#e:<H> !#e:<I> !#e:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<C> !#e:<D> !#e:<E> !#e:<F> !#e:<G> !#e:<H> !#e:<I> !#e:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<D> !#e:<E> !#e:<F> !#e:<G> !#e:<H> !#e:<I> !#e:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<E> !#e:<F> !#e:<G> !#e:<H> !#e:<I> !#e:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<F> !#e:<G> !#e:<H> !#e:<I> !#e:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<G> !#e:<H> !#e:<I> !#e:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<H> !#e:<I> !#e:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<I> !#e:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<X> !#e:<Y> !#e:<Z>>|<#p:<Y> !#e:<Z>>|<#p:<Z>>|<#p:<0> !#e:<1> !#e:<2> !#e:<3> !#e:<4> !#e:<5> !#e:<6> !#e:<7> !#e:<8> !#e:<9>>|<#p:<1> !#e:<2> !#e:<3> !#e:<4> !#e:<5> !#e:<6> !#e:<7> !#e:<8> !#e:<9>>|<#p:<2> !#e:<3> !#e:<4> !#e:<5> !#e:<6> !#e:<7> !#e:<8> !#e:<9>>|<#p:<3> !#e:<4> !#e:<5> !#e:<6> !#e:<7> !#e:<8> !#e:<9>>|<#p:<4> !#e:<5> !#e:<6> !#e:<7> !#e:<8> !#e:<9>>|<#p:<5> !#e:<6> !#e:<7> !#e:<8> !#e:<9>>|<#p:<6> !#e:<7> !#e:<8> !#e:<9>>|<#p:<7> !#e:<8> !#e:<9>>|<#p:<8> !#e:<9>>|<#p:<9>>
supports A-Z and 0-9
Re: Regex problem
Thanks for the reply, the solutions isn't quite want I would like to achieve, in as much that it lists every file that fit the regex expression.
What I would like if possible is to show only the one file, either the highest Issue (Iss) number or the highest letter Issue if there are no numeric Issue exist.
Example taken from set of files:
0020-001437-IssA
0020-001437-IssB
0020-001437-IssC
0020-001437-IssD
Above are pre-production issue files
Below are production files which contain changes to specifications
0020-001437-Iss1
0020-001437-Iss2
0020-001437-Iss3
0020-001437-Iss4
0020-001437-Iss5
I like to be able to show only the file at Iss5 by typing 001437 which is unique 6 digit number in the file system.
e.g.
If I typed for instance 004517 it would display one file with the highest alpha Issue if only pre-production files exist, or
the highest number issue if the file is used in production.
Big ask I think, but thanks trying,
What I would like if possible is to show only the one file, either the highest Issue (Iss) number or the highest letter Issue if there are no numeric Issue exist.
Example taken from set of files:
0020-001437-IssA
0020-001437-IssB
0020-001437-IssC
0020-001437-IssD
Above are pre-production issue files
Below are production files which contain changes to specifications
0020-001437-Iss1
0020-001437-Iss2
0020-001437-Iss3
0020-001437-Iss4
0020-001437-Iss5
I like to be able to show only the file at Iss5 by typing 001437 which is unique 6 digit number in the file system.
e.g.
If I typed for instance 004517 it would display one file with the highest alpha Issue if only pre-production files exist, or
the highest number issue if the file is used in production.
Big ask I think, but thanks trying,
Re: Regex problem
Does sorting by name descending help?
The highest rev should be the top result.
The highest rev should be the top result.
Re: Regex problem
This is how far I got, but in the end that didn't work out as #eval does not seem to like regex.
And it needs to take care of just pre-production versions (that part should be easy)
Maybe someone else can fix it.
(relies on some trickery: #eval[1+A] = 1 and #eval[1+5]= 6. Note that #eval[A + 1] = 0 )
This assumes that there are no missing intermediate revisions: if there is lssA and lssD, there will also be lssB and lssC
And it needs to take care of just pre-production versions (that part should be easy)
Maybe someone else can fix it.
Code: Select all
< regex:^(0020-001437-Iss)(.)(.*)$ !file-exists:\1<#eval:<1+\2>>\3 >
This assumes that there are no missing intermediate revisions: if there is lssA and lssD, there will also be lssB and lssC
Re: Regex problem
Please consider creating a filter, activating this filter and searching for 001437 :
001437 highestiss:
- In Everything, from the Search menu, click Add to filters...
- Change the Name to: Highest xxxx-xxxxxx-Issx
- Change the Search to:
Code: Select all
#define:<p[x]=#<:regex:^(\d\d\d\d-\d\d\d\d\d\d-Iss)#x:(.*)$#>:>#define:<e[x]=#<:file-exists:\1#x:\2#>:><#p:<A> !#e:<B> !#e:<C> !#e:<D> !#e:<E> !#e:<F> !#e:<G> !#e:<H> !#e:<I> !#e:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<B> !#e:<C> !#e:<D> !#e:<E> !#e:<F> !#e:<G> !#e:<H> !#e:<I> !#e:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<C> !#e:<D> !#e:<E> !#e:<F> !#e:<G> !#e:<H> !#e:<I> !#e:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<D> !#e:<E> !#e:<F> !#e:<G> !#e:<H> !#e:<I> !#e:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<E> !#e:<F> !#e:<G> !#e:<H> !#e:<I> !#e:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<F> !#e:<G> !#e:<H> !#e:<I> !#e:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<G> !#e:<H> !#e:<I> !#e:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<H> !#e:<I> !#e:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<I> !#e:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<J> !#e:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<K> !#e:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<L> !#e:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<M> !#e:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<N> !#e:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<O> !#e:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<P> !#e:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<Q> !#e:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<R> !#e:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<S> !#e:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<T> !#e:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<U> !#e:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<V> !#e:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<W> !#e:<X> !#e:<Y> !#e:<Z>>|<#p:<X> !#e:<Y> !#e:<Z>>|<#p:<Y> !#e:<Z>>|<#p:<Z>>|<#p:<0> !#e:<1> !#e:<2> !#e:<3> !#e:<4> !#e:<5> !#e:<6> !#e:<7> !#e:<8> !#e:<9>>|<#p:<1> !#e:<2> !#e:<3> !#e:<4> !#e:<5> !#e:<6> !#e:<7> !#e:<8> !#e:<9>>|<#p:<2> !#e:<3> !#e:<4> !#e:<5> !#e:<6> !#e:<7> !#e:<8> !#e:<9>>|<#p:<3> !#e:<4> !#e:<5> !#e:<6> !#e:<7> !#e:<8> !#e:<9>>|<#p:<4> !#e:<5> !#e:<6> !#e:<7> !#e:<8> !#e:<9>>|<#p:<5> !#e:<6> !#e:<7> !#e:<8> !#e:<9>>|<#p:<6> !#e:<7> !#e:<8> !#e:<9>>|<#p:<7> !#e:<8> !#e:<9>>|<#p:<8> !#e:<9>>|<#p:<9>>
- Change the Macro to: highestiss
- Click OK.
- Filters can be activated from the Search menu, Filter bar (View -> Filters), right clicking the status bar, filter macro or filter keyboard shortcut.
- Please activate this new filter.
- Type in your search, eg: 001437
001437 highestiss:
Unfortunately, this will not work as #eval: is expanded before the search is executed. (not when file-exists: is evaluated)!file-exists:\1<#eval:<1+\2>>\3 >
Re: Regex problem
Thanks void and everyone who took the time to contributed, works great.
I like this program more every time I use it.
I like this program more every time I use it.
Re: Regex problem
It would be useful.
I have put on my TODO list: expand preprocessor text when evaluating fileexists:
Preprocessor text can be escaped with #<: and #>:
Thanks for the suggestion.
I have put on my TODO list: expand preprocessor text when evaluating fileexists:
Preprocessor text can be escaped with #<: and #>:
Thanks for the suggestion.
Re: Regex problem
I tried the search you sent me, it worked fine on my home computer with dummy data, unfortunately
when I tried it at work I couldn't get any results. The files at work are stored on a NAS server, other searches
I use find files on the NAS server. I created a debug file, but don't how to upload it.
when I tried it at work I couldn't get any results. The files at work are stored on a NAS server, other searches
I use find files on the NAS server. I created a debug file, but don't how to upload it.
Re: Regex problem
Please zip the Everything debug log.txt and send to support@voidtools.com
If the zip file is larger than 10MB, please let me know.
If the zip file is larger than 10MB, please let me know.
Re: Regex problem
Thanks for looking at the Debug log. It would appear there was some corruption when I change from Version 1.4 to 1.5.
Did a clean install of version 1.5 now all good, I been using the search you gave me at work, absolutely brilliant, I'm very impressed
with Everything, the program I mean.
Thanks again
Did a clean install of version 1.5 now all good, I been using the search you gave me at work, absolutely brilliant, I'm very impressed
with Everything, the program I mean.
Thanks again
Re: Regex problem
Everything 1.5.0.1296a adds an expand: search modifier.
expand: will simplify the file-exists: search for you:
regex:^(\d\d\d\d-\d\d\d\d\d\d-Iss)(.)(.*)$ !expand:file-exists:#<:\1#char:<#eval:<#unicode:<\2>+1>>\3#>:
Note that the preprocessor text in expand: is escaped with #<: and #>:
This will prevent the preprocessor text from being prematurely expanded.
expand: can use \1 - \9 to reference the previous regular expression capture groups.
expand: will simplify the file-exists: search for you:
regex:^(\d\d\d\d-\d\d\d\d\d\d-Iss)(.)(.*)$ !expand:file-exists:#<:\1#char:<#eval:<#unicode:<\2>+1>>\3#>:
Note that the preprocessor text in expand: is escaped with #<: and #>:
This will prevent the preprocessor text from being prematurely expanded.
expand: can use \1 - \9 to reference the previous regular expression capture groups.