javascript - .NET 正则表达式匹配来自任何语言的任何类型的字母

标签 javascript .net regex unicode asp.net-mvc-2

我可以使用哪个正则表达式来匹配(允许)来自任何语言的任何类型的字母?

我需要匹配任何字母,包括任何变音符号(例如,á、ü、ñ)
并排除任何类型的符号(数学符号、货币符号、装饰符号、画框字符等)和标点符号。

我将 ASP.NET MVC 2 与 .NET 4 一起使用。我在我的 View 模型中尝试过这个注释

[RegularExpression(@"\p{L}*", ...

和这个
[RegularExpression(@"\p{L}\p{M}*", ...

但客户端验证拒绝重音字符。

更新:
感谢您的所有回答。您的建议有效,但仅适用于 .NET,这里的问题是它还使用正则表达式通过 JavaScript 进行客户端验证。

我不得不去
[^0-9_\|°¬!#\$%/\\\(\)\?¡¿\+\{\}\[\]:\.\,;@ª^\*<>=&]

这是非常丑陋的,并没有涵盖所有场景,但最接近我需要的东西。

最佳答案

您可以使用 Char.IsLetter :

Indicates whether the specified Unicode character is categorized as a Unicode letter.



使用 .Net 4.0:
string onlyLetters = String.Concat(str.Where(Char.IsLetter));

3.5 String.Concat只有一个数组除外,所以你也应该调用 ToArray .

关于javascript - .NET 正则表达式匹配来自任何语言的任何类型的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2949861/

相关文章:

c# - 如何显示哪个子正则表达式匹配失败?

regex - mysql 查询的 where 子句中的正则表达式或替换函数

javascript - 使用 prettier 时出现错误 'No files matching the pattern were found'

javascript - 使用 onchange() 根据下拉选择显示结果

.net - 在 SQL2005 中部署 WCF 客户端程序集

c# - 如何同步文本框和列表框的滚动

regex - 如何用斜杠来grep一个精确的字符串?

javascript - 如何更改 Vuetify 日历日期格式

javascript - 无法手动拉伸(stretch)可拖动的 div

c# - 避免在双链场景下指定key列