正则表达希伯来语,英语,符号

时间:2013-05-05 22:50:48

标签: c# regex detect

作为我编写的小程序的一部分,我需要过滤一个可能是“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”之后的所有字符都是希伯来语

2 个答案:

答案 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标志(据我所知:.,?!:;-_(){}[]\/'"&#@%*