Presta atención ya que en este post encontrarás el hallazgo que buscas.
Solución:
Debe usar en sus códigos unicode de expresiones regulares para caracteres, como u0080
. Para el idioma alemán, encontré la siguiente tabla:
Zeichen Unicode
------------------------------
Ä, ä u00c4, u00e4
Ö, ö u00d6, u00f6
Ü, ü u00dc, u00fc
ß u00df
(fuente http://javawiki.sowas.com/doku.php?id=java:unicode)
Intenta usar esto:
/^[u00C0-u017Fa-zA-Z'][u00C0-u017Fa-zA-Z-' ]+[u00C0-u017Fa-zA-Z']?$/
He agregado el rango Unicode u00C0-u017F
al comienzo de cada uno de los grupos de corchetes.
Dado que /^[u00C0-u017FA-Za-z]+$/.test("aeiouçéüß")
devoluciones true
espero que funcione.
Crédito a https://stackoverflow.com/a/11550799/940252.
solía
A-Za-z-ÁÀȦÂÄǞǍĂĀÃÅǺǼǢĆĊĈČĎḌḐḒÉÈĖÊËĚĔĒẼE̊ẸǴĠĜǦĞGĢĤḤáàȧâäǟǎăāãåǻǽǣćċĉčďḍḑḓéèėêëěĕēẽe̊ẹǵġĝǧğgģĥḥÍÌİÎÏǏĬĪĨỊĴĶǨĹĻĽĿḼMM̄’NŃNṄN̈ŇN̄ÑŅṊÓÒȮȰÔÖȪǑŎŌÕȬŐỌǾƠíìiîïǐĭīĩịĵķǩĺļľŀḽmm̄ʼnńnṅn̈ňn̄ñņṋóòôȯȱöȫǒŏōõȭőọǿơP̄ŔŘŖŚŜṠŠŞṢŤŢṬṰÚÙÛÜǓŬŪŨŰŮỤẂẀŴẄÝỲŶŸȲỸŹŻŽẒǮp̄ŕřŗśŝṡšşṣťţṭṱúùûüǔŭūũűůụẃẁŵẅýỳŷÿȳỹźżžẓǯßœŒçÇ
que soporta casi todos los caracteres en Europa. fuente de verdad
Recuerda que tienes autorización de aclarar si hallaste tu disgusto .