Odd, that didn't seem to work on my end when I looked earlier?
What I came up with (after a bit of reading, as this stuff always confuses me):
- Code: Select all
Match: (.*?_)(19)(.*)
Replace: \120\2\3
Non-greed match up to a _ followed by 19.
So that should find .*_19 - as two separate variables (whatever you call it).
So the first part \1, matches .*_
The second is the literal 19.
The third is everything else.
\1 = .*_
\2 = 19
\3 = .*
And with a literal 20 thrown in for good luck.
(Now I haven't tested the above in BRU - yet...)
(I've change the Replace [with space] to, \1 20\2 \3, for readability.)
Old:
- Code: Select all
install_flash_player_19_plugin_19.0.0.245 (N).exe
install_flash_player_19_active_x_1900245.exe
New:
- Code: Select all
install_flash_player_ 2019 _plugin_19.0.0.245 (N).exe
install_flash_player_ 2019 _active_x_1900245.exe
Alternatively (& again spaced for readability)...
- Code: Select all
Match: (.*?_)19(.*)
Replace: \1 2019 \2
(And yes, it works in BRU.)
OK, & ertuncb 's method works too - with the above sample.
What I tried it with earlier, was different, the _19 was not consistent, in that the second instance of _1# was not a 9.
(Not quit sure what it was anymore?)
Non-greedy always messes with me (more generally, regex always mess with me
), & I think what I wasn't particularly aware of was that the non-greedy needs to follow the *, so *?.
(Prior I had tried stuff like (.*_?) & (.*_)?, which are incorrect.)