in reply to Delete unmatched quotes from a delimited file?
there are 4 sets of parens in the regex, I'll try to break them down :$_='|value 1|value two|"|Value 3 was "NULL"|2001/06/06|'; s/(\|.*?)(")(?!")(.*?\|)/$1$3/; print;
So,
"look for a pipe, and then any characters up to a quote, make sure it's not followed by another quote, and then the rest of the string, up to a pipe"
Now the one caveat for this re is that it will misbehave on "", but my reg-fu is not strong enough to determine the handler for that contingency.
|
---|