I'm currently trying to make an expression that grabs all commas that do not have a space after them, and all colons.
I've tried (,([^\s]))|([:])
, which is close, but also seems to grab the character after the comma that doesn't have a space.
I've also tried (,\s+)|([:])
, which will grab all colons and all commas with a space after them as well as the space.
What I would like to be selected is enclosed in * * in the following:
Hello, my name is*:* tibsar*,*okay?
Any ideas?
I think this regex will do the work.
Regex: (,(?=\S)|:)
Explanation:
(?=\S)
This positive lookahead
checks for character after ,
which is not a whitespace
but does not capture it in match. [^\s]
is same as \S
.
And used alteration |
to match :
which may appear anywhere.
Regex101 Demo
To match , at end of line(if needed).
Where you went wrong with (,([^\s]))|([:])
and (,\s+)|([:])
?
(,([^\s]))
Does matches a comma followed by non-whitespace but it also captures it in the match.
(,\s+)
Straightaway matches a comma followed by a whitespace, so it's completely wrong.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With