Utf8 regex correcto para CamelCase (WikiWord) en perl

Aquí había una pregunta sobre elCamelCase regex. Con la combinación detchrist post Me pregunto cuál es la @ correc utf-8 CamelCase.

Comenzando con la expresión regular (brian d foy's):

/
    \b          # start at word boundary
    [A-Z]       # start with upper
    [a-zA-Z]*   # followed by any alpha

    (?:  # non-capturing grouping for alternation precedence
       [a-z][a-zA-Z]*[A-Z]   # next bit is lower, any zero or more, ending with upper
          |                     # or 
       [A-Z][a-zA-Z]*[a-z]   # next bit is upper, any zero or more, ending with lower
    )

    [a-zA-Z]*   # anything that's left
    \b          # end at word 
/x

y modificando a:

/
    \b          # start at word boundary
    \p{Uppercase_Letter}     # start with upper
    \p{Alphabetic}*          # followed by any alpha

    (?:  # non-capturing grouping for alternation precedence
       \p{Lowercase_Letter}[a-zA-Z]*\p{Uppercase_Letter}   ### next bit is lower, any zero or more, ending with upper
          |                  # or 
       \p{Uppercase_Letter}[a-zA-Z]*\p{Lowercase_Letter}   ### next bit is upper, any zero or more, ending with lower
    )

    \p{Alphabetic}*          # anything that's left
    \b          # end at word 
/x

Tiene un problema con las líneas marcadas '###'.

demás, cómo modificar la expresión regular cuando se supone que los números y el guión bajo son equivalentes a letras minúsculas, entonces W2X3 es una palabra CamelCase válida.

Actualizado (comentario anterior)

para el siguiente

any: significa "mayúscula o minúscula o número o guión bajo"

La expresión regular debe coincidir con CamelWord, CaW

start con letra mayúsculaopcional any letra minúscula o número o guión bajoopcional anyletra mayúsculopcional any

Por favor, no marque como duplicado, porque no lo es. Los pregunta original (y las respuestas también) pensaban solo ascii.

Respuestas a la pregunta(1)

Su respuesta a la pregunta