Is it possible to redefine (temporarily) the meaning of \b in RegExp
situations?
Here’s the scenario: I’ve got some data that looks something like,
“ABCD.E”, which I stuff into an array as I encounter each new
instance. Eventually, I will join(", ") these together having
surrounded each of them with single quotes, for use in an SQL “IN
(…)” clause.
At first, I tried doing this with gsub(/\b/, “’”), but found out the
hard way that the period was wreaking havoc with my intended results,
and I got this: ‘ABCD’.‘E’ instead.
My next attempt was to do it by hand, like this: gsub(/^/, “’”).gsub(/
$/, “’”). This worked, but seems a bit like a hack.
So my question is whether there’s any way to temporarily declare that
a period is NOT to be considered a word boundary.
Is it possible to redefine (temporarily) the meaning of \b in RegExp
situations?
I think the only way to do this would be to redefine all the
circumstances in which a \b could occur yourself. For instance the 6
cases that I can think of are: ^\w, \W\w, \s\w, \w$, \w\W, \w\s. This
is a pain as you can see here I’ve done four and it’s very ugly:
Alternatively you could pre and post process by replacing “.” with
something that doesn’t break the boundary “zyzyzy” and then replace
back with “.” when you’re done inserting the ticks: