Search:
Code:
(\s)‘(.*?[^a-z\s])’(\s)
Replace:
Code:
$1“$2”$3
Try that. It's a one-pass search. The key is the set of non-letter characters (? ! . - ...) that appear at the end in a normal sentence that has quotes. Now with O'Malley having a quote between two capitalized letters, you may need to change the search slightly --
Search:
Code:
(\s)‘(.*?[^a-zA-Z\s])’(\s)
I used named entities in the replace, but you can change those as you like. I can't remember if Sigil needs to use
$1 or
\1 for replacement.
Test carefully.
Aloha.