C# 正则表达式过滤指定的字符串

[\w+]表示匹配数字、字母、下划线和加号本身字符
[\w]+和\w+没有区别,都是匹配数字和字母下划线的多个字符

string str = @"testtesttesttest,@test:1。testtesttest,@test:2。testtesttest,@test:23。";
Regex reg = new Regex(@"@\w+:\d{1}");   //d{x} x是数字的个数 \w+ == [\w]+

foreach (Match m in reg.Matches(str))
{
    Console.WriteLine(m.Value);
}


/// <summary>
/// 判断传入的值是中文字符
/// </summary>
/// <param name="obj">汉字字符</param>
/// <returns>count</returns>
public static int StringToCh(object obj)
{
    string ptn = "[\u4e00-\u9fa5]+";
    int count = 0;
    Regex r = new Regex(ptn, RegexOptions.ECMAScript);
    foreach (Match m in r.Matches(ObjToString(obj)))
    {
        count++;
    }
    return count;
}
/// <summary>
/// 判断传入的值是英文字符
/// </summary>
/// <param name="obj">英文字符</param>
/// <returns>count</returns>
public static int StringToEn(object obj)
{
    string ptn = "[a-zA-Z\\s]+";
    int count = 0;
    Regex r = new Regex(ptn, RegexOptions.ECMAScript);
    foreach (Match m in r.Matches(ObjToString(obj)))
    {
        count++;
    }
    return count;
}

猜你喜欢

转载自blog.csdn.net/qq_35106907/article/details/85990784
今日推荐