在C#中使用正则表达式检测阿姆哈拉语
阿姆哈拉语输入验证的C#正则表达式实现
要让你的C#输入验证函数适配阿姆哈拉语,只需替换原拉丁语正则表达式为针对埃塞俄比亚文字Unicode范围(U+1200-U+137F)的规则即可。.NET正则提供了两种等价的写法:
正则表达式选项
- 语义化写法:
\p{IsEthiopic},直接匹配所有埃塞俄比亚文字(包含阿姆哈拉字符,正好对应U+1200-U+137F范围) - 直接范围写法:
[\u1200-\u137F],精确匹配指定的Unicode区间
代码示例
1. 检测输入是否包含阿姆哈拉字符
using System.Text.RegularExpressions; public static bool ContainsAmharicCharacters(string input) { Regex amharicRegex = new Regex(@"\p{IsEthiopic}"); return amharicRegex.IsMatch(input); }
2. 验证输入是否仅包含阿姆哈拉字符(含允许的附加字符)
如果你的需求是仅接受阿姆哈拉语输入(可包含空格、常用标点),可以用以下正则:
public static bool IsValidAmharicInput(string input) { // 可根据需求调整允许的附加字符(比如去掉标点或添加其他符号) Regex amharicOnlyRegex = new Regex(@"^[\p{IsEthiopic}\s.,!?]+$"); return amharicOnlyRegex.IsMatch(input); }
替换原函数说明
如果原拉丁语检测函数是类似Regex.IsMatch(input, @"[a-zA-Z]")的写法,直接将正则部分替换为\p{IsEthiopic}或[\u1200-\u137F]即可完成适配。
内容的提问来源于stack exchange,提问作者Biruk Jeldu
相关产品推荐
相关产品推荐

