作为我编写的小程序的一部分,我需要过滤一个可能是“gibrish”的字符串输入(UTF8中的任何符号) 输入可以是希伯来语和/或英语,但也有所有正常的标志,如:?%$!@'_'等等......
朋友建议使用正则表达式,但由于我使用它的经验不足,我来找你咨询。
如何创建一个C#函数来检查输入文本,如果它不是“正确”则返回false
我到目前为止的尝试是:
public static bool shortTest(string input)
{
string pattern = @"^[אבגדהוזחטיכלמנסעפצקרשתץףןםa-zA-Z0-9\_]+$";
Regex regex = new Regex(pattern);
return regex.IsMatch(input);
}
“[”和“a”之后的所有字符都是希伯来语
答案 0 :(得分:5)
对于希伯来字母,在 C#中,您可以执行以下操作:
return System.Text.RegularExpressions.Regex.IsMatch(value, @"^[א-ת]+$");
享受=)
答案 1 :(得分:2)
您可以使用\p{IsHebrew}
字符类而不是枚举所有希伯来字符,\ w表示[a-zA-Z0-9_],\ s表示空格,制表符,换行符。你可以添加点,逗号...例如:
^[\p{IsHebrew}\w\s,.?!;:-]+$
或
^[\p{IsHebrew}\w\s\p{P}]+$
\ p {P}代表所有的ponctuation标志(据我所知:.,?!:;-_(){}[]\/'"&#@%*
)