5

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

4

2 回答 2

7

对于希伯来字母,在C#中你可以这样做:

return System.Text.RegularExpressions.Regex.IsMatch(value, @"^[א-ת]+$");

享受 =)

于 2014-04-06T15:55:36.383 回答
3

您可以使用\p{IsHebrew}字符类而不是枚举所有希伯来字符,\w 表示 [a-zA-Z0-9_],\s 表示空格、制表符、换行符。您可以添加点,逗号...一个例子:

^[\p{IsHebrew}\w\s,.?!;:-]+$

或者

^[\p{IsHebrew}\w\s\p{P}]+$

\p{P} 代表所有标点符号(据我所知.,?!:;-_(){}[]\/'"&#@%*:)

于 2013-05-05T23:04:56.697 回答