I used A-Za-z-ÁÀȦÂÄǞǍĂĀÃÅǺǼǢĆĊĈČĎḌḐḒÉÈĖÊËĚĔĒẼE̊ẸǴĠĜǦĞG̃ĢĤḤáàȧâäǟǎăāãåǻǽǣćċĉčďḍḑḓéèėêëěĕēẽe̊ẹǵġĝǧğg̃ģĥḥÍÌİÎÏǏĬĪĨỊĴĶǨĹĻĽĿḼM̂M̄ʼNŃN̂ṄN̈ŇN̄ÑŅṊÓÒȮȰÔÖȪǑŎŌÕȬŐỌǾƠíìiîïǐĭīĩịĵķǩĺļľŀḽm̂m̄ʼnńn̂ṅn̈ňn̄ñņṋóòôȯȱöȫǒŏōõȭőọǿơP̄ŔŘŖŚŜṠŠȘṢŤȚṬṰÚÙÛÜǓŬŪŨŰŮỤẂẀŴẄÝỲŶŸȲỸŹŻŽẒǮp̄ŕřŗśŝṡšşṣťțṭṱúùûüǔŭūũűůụẃẁŵẅýỳŷÿȳỹźżžẓǯßœŒçÇ which supports almost all the chars in Europe. Source of truth
6条答案
按热度按时间vnzz0bqm1#
你应该在你的正则表达式中使用字符的unicode代码,比如
\u0080
。对于德语,我找到了下表:(来源http://javawiki.sowas.com/doku.php?id=java:unicode)
jogvjijk2#
请尝试使用此:
我已经将unicode范围
\u00C0-\u017F
添加到每个方括号组的开头。考虑到
/^[\u00C0-\u017FA-Za-z]+$/.test("aeiouçéüß")
返回true
,我认为它应该可以工作。贷记到https://stackoverflow.com/a/11550799/940252。
yjghlzjz3#
在JS中,你可以在正则表达式上使用
u
标志来访问一个特殊的“ meta序列”,即\p
。\p
是一个Unicode识别的查找,它有一个特殊的Letter
类别。这个类别将匹配德语,瑞典语,斯堪的纳维亚语,西里尔字符等。简而言之,使用以下命令:
Till Sanders的this article prop 。
x8diyxa74#
我想出了一个不同范围的组合:
但我看到它漏掉了@SambitD提案的一些字母,请参考:https://rubular.com/r/2g00QJK4rBS8Y4
jdg4fx2g5#
I used
A-Za-z-ÁÀȦÂÄǞǍĂĀÃÅǺǼǢĆĊĈČĎḌḐḒÉÈĖÊËĚĔĒẼE̊ẸǴĠĜǦĞG̃ĢĤḤáàȧâäǟǎăāãåǻǽǣćċĉčďḍḑḓéèėêëěĕēẽe̊ẹǵġĝǧğg̃ģĥḥÍÌİÎÏǏĬĪĨỊĴĶǨĹĻĽĿḼM̂M̄ʼNŃN̂ṄN̈ŇN̄ÑŅṊÓÒȮȰÔÖȪǑŎŌÕȬŐỌǾƠíìiîïǐĭīĩịĵķǩĺļľŀḽm̂m̄ʼnńn̂ṅn̈ňn̄ñņṋóòôȯȱöȫǒŏōõȭőọǿơP̄ŔŘŖŚŜṠŠȘṢŤȚṬṰÚÙÛÜǓŬŪŨŰŮỤẂẀŴẄÝỲŶŸȲỸŹŻŽẒǮp̄ŕřŗśŝṡšşṣťțṭṱúùûüǔŭūũűůụẃẁŵẅýỳŷÿȳỹźżžẓǯßœŒçÇ
which supports almost all the chars in Europe. Source of truth
p1tboqfb6#
\uXXXX方法的问题在于,并非所有的Regex风格都支持它。例如,Visual C++不支持它。在那里,您需要枚举实际的字母。
我建议使用像https://www.regexbuddy.com/这样的工具,它知道尽可能多的口味。