diff --git a/src/calibre/ebooks/conversion/utils.py b/src/calibre/ebooks/conversion/utils.py index 888d24d791..bfb5f1c153 100644 --- a/src/calibre/ebooks/conversion/utils.py +++ b/src/calibre/ebooks/conversion/utils.py @@ -139,17 +139,17 @@ class HeuristicProcessor(object): ] ITALICIZE_STYLE_PATS = [ - r'(?msu)_(?P.+?)_', - r'(?msu)/(?P[^<>]+?)/', - r'(?msu)~~(?P.+?)~~', - r'(?msu)\*(?P.+?)\*', - r'(?msu)~(?P.+?)~', - r'(?msu)_/(?P[^<>]+?)/_', - r'(?msu)_\*(?P.+?)\*_', - r'(?msu)\*/(?P[^<>]+?)/\*', - r'(?msu)_\*/(?P[^<>]+?)/\*_', - r'(?msu)/:(?P[^<>]+?):/', - r'(?msu)\|:(?P.+?):\|', + r'(?msu)_(?P[^\s][^<>_]+?[^\s])?_', + r'(?msu)/(?P[^\s][^<>/]+?[^\s])?/', + r'(?msu)~~(?P[^\s][^<>~]+?[^\s])?~~', + r'(?msu)\*(?P[^\s][^<>\*]+?[^\s])?\*', + r'(?msu)~(?P[^\s][^<>~]+?[^\s])?~', + r'(?msu)_/(?P[^\s][^<>/_]+?[^\s])?/_', + r'(?msu)_\*(?P[^\s][^<>\*_]+?[^\s])?\*_', + r'(?msu)\*/(?P[^\s][^<>/\*]+?[^\s])?/\*', + r'(?msu)_\*/(?P[^\s][^<>\*_]+?[^\s])?/\*_', + r'(?msu)/:(?P[^\s][^<>:/]+?[^\s])?:/', + r'(?msu)\|:(?P[^\s][^<>:\|]+?[^\s])?:\|', ] for word in ITALICIZE_WORDS: