只允许字母的正常正则表达式是"[a-zA-Z]",但我来自瑞典,因此我必须将其改为"[a-zåäöA-ZÅÄÖ]".但是假设我不知道字母表中使用了什么字母.
有没有办法自动知道哪些字符在给定的语言环境/语言中是有效的,还是我应该制作一个我认为我不知道的字符黑名单?
您可以使用\ pL匹配任何"字母",它将支持所有语言中的所有字母.您可以使用"命名块"将其缩小到特定语言.可以在MSDN 上的字符类文档中找到更多信息.
我的建议是将正则表达式(或至少是"字母"部分)放入本地化资源中,然后可以根据当前区域设置和形式将其拉出到更大的模式中.