\p{Latin} would not be sufficient to avoid breaking words. There are languages needing other characters within Latin, notably with combining sequences. See for example Vietnamese that could use letters with two diacritics ! See also Chinese pinyin text, and some African languages.

In fact the minimum would require adding all combining characters (really needed to avoid breaking default grapheme clusters), all joiner controls, digits (including their wide versions used in CJK contexts because p{Latin} also includes wide letters), and a few punctuations (and the soft hyphen, but probably not the minus-hyphen).

Handling the ASCII apostrophe is complex (even more complex in MediaWiki due to its use to markup bold and italic styles: an initial parsing of these wiki syntax would be needed to know if these are apostrophes or markup...).

Note also that the apostrophe mays also be used as a quote (this is covered in more details in Unicode word breakers), and that this concerns not only the the ASCII apostrophe but also the rounded apostrophe.

Again, it is really needed to look at the Unicode standard :

# a MUST-HAVE in all cases, for all languages first requires not breaking any combining sequences before any characters with a non-zero combinining class and not even before CGJ), and to ensure that canonically equivalent strings will always break identically (needed for strict process conformance as required by the standard in all algorithms).
#  the rules for default grapheme clusters breakers (this adds some unbreakable sequences for Latin text), these rules are language-neutral (there are a few rules to take for Latin text, notably "spacing diacritics", and joiners; we could exclude here some "letterlike" symbols that are not really Latin).
#  the rules for word breakers (even if we consider only Latin-written languages): these rules however are language-sensitive (English is simple at this step but not all Latin-written languages, here there's the case for apostrophes, hyphens...)

In summary, it will be much more complex than just a regular expression: it requires a specific parser code (look at ICU implementation).