You may use the following regex:
(?i-s)[0-9]([a-z])|.
Replace with (?{1}$1:)
.
To delete all but non-matched, use the (?{1}$0:)
replacement with the same regex.
Details:
(?i-s)
– an inline modifier turning on case insensitive mode and turning off the DOTALL mode (.
does not match a newline)[0-9]([a-z])
– an ASCII digit and any ASCII letter captured into Group 1 (later referred to with$1
or\1
backreference from the string replacement pattern)|
– or.
– any char but a line break char.
Replacement details
(?{1}
– start of the conditional replacement: if Group 1 matched then…$1
– the contents of Group 1 (or the whole match if$0
backreference is used):
– else… nothing
)
– end of the conditional replacement pattern.