C#正则表达式匹配字符串
正则表达式可以快速判断所给字符串是否某种指定格式。这里将一些常用的方法封装进一个字符串工具类中。
public static class StringTool
{
/// <summary>
/// 判断字符串是否纯数字
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool IsNumber(string str)
{
return Regex.IsMatch(str, @"^[0-9]+$");
} /// <summary>
/// 判断字符串是否纯字母
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool IsLetter(string str)
{
return Regex.IsMatch(str, @"^[A-Za-z]+$");
} /// <summary>
/// 判断字符串是否字母或数字的组合
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool IsLetterOrNumber(string str)
{
return Regex.IsMatch(str, @"(?i)^[0-9a-z]+$");
} /// <summary>
/// 统计字符串中汉字个数
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static int CountChinese(string str)
{
return str.Count(c => Regex.IsMatch(c.ToString(), @"^[\u4E00-\u9FA5]{0,}$"));
} /// <summary>
/// 判断字符串是否纯中文
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool IsChinese(string str)
{
return Regex.IsMatch(str, @"^[\u4e00-\u9fa5],{0,}$");
} /// <summary>
/// 判断字符串中是否包含中文
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool HasChinese(string str)
{
return Regex.IsMatch(str, @"[\u4e00-\u9fa5]");
} /// <summary>
/// 统计字符串中全角字符个数
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static int CountSbcCase(string str)
{
return Encoding.Default.GetByteCount(str) - str.Length;
} /// <summary>
/// 判断字符串中是否包含全角字符
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool HasSbcCase(string str)
{
return CountSbcCase(str) > ;
} /// <summary>
/// 统计字符串中半角字符个数
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static int CountDbcCase(string str)
{
return str.Length - CountSbcCase(str);
} /// <summary>
/// 判断字符串中是否包含半角字符
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool HasDbcCase(string str)
{
return CountDbcCase(str) > ;
} /// <summary>
/// 判断字符串中是否符合邮箱格式
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool IsEmail(string str)
{
return Regex.IsMatch(str, @"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");
}
}
C#正则表达式匹配字符串的更多相关文章
- java中使用正则表达式匹配字符串
在Java中使用正则表达式去匹配相应的字符串: String importFileRole = "(import)\\s*[a-zA-Z0-9_<>.]+\\;";// ...
- js正则表达式匹配字符串与优化过程
前言 有时候需要实现对js源文件中的url字符串做拦截预处理,或者前端js语法高亮,或者需要对动态加载的关键源码做混淆保护,在某些步骤实现之前,有一个步骤是需要提炼出所有的合法字符串. 目标:检测源文 ...
- 【SQL查询】正则表达式匹配字符串
1. 元字符说明 元字符 含义 ^ 匹配输入字符串的开始位置. $ 匹配输入字符串的结尾位置. * 匹配前面的字符零次或多次. + 匹配前面的字符一次或多次. ? 匹配前面的字符零次或一次. . 匹配 ...
- re正则表达式匹配字符串中的数字
re.match(r'.*-(\d*).html',url_1).group(1) \d+匹配1次或者多次数字,注意这里不要写成*,因为即便是小数,小数点之前也得有一个数字:\.?这个是匹配小数点的, ...
- 正则表达式匹配字符串中的数字 Python
1.使用“\d+”匹配全数字 代码: import re zen = "Arizona 479, 501, 870. Carlifornia 209, 213, 650." m = ...
- java 正则表达式匹配字符串
private static List<String> getImage(String str){ List<String> tmp=new ArrayList<Stri ...
- C# -- 正则表达式匹配字符之含义
C#正则表达式匹配字符之含义 1.正则表达式的作用:用来描述字符串的特征. 2.各个匹配字符的含义: . :表示除\n以外的单个字符 [ ] :表示在字符数组[]中罗列出来的字符任意取单个 | ...
- python 正则表达式匹配IP地址
一.实验环境 1.Windows7x64_SP1 2.anaconda2.5.0 + python2.7(anaconda集成,不需单独安装) 3.pyinstaller3.0 二.实验目的 从tex ...
- java 正则匹配空格字符串 正则表达式截取字符串
java 正则匹配空格字符串 正则表达式截取字符串 需求:从一堆sql中取出某些特定字符串: 比如配置的sql语句为:"company_code = @cc and project_id = ...
随机推荐
- PC小技巧
一.如何在office 2010中安装 Microsoft Office Document Imaging 我用的是office 2010版本,如下操作可以把照片转换成文本:第一步:使用Microso ...
- java selenium (十) 操作浏览器
本篇文章介绍selenium 操作浏览器 阅读目录 浏览器最大化 前进,后退, 刷新 public static void testBrowser(WebDriver driver) throws E ...
- [转]搭建高可用mongodb集群(二)—— 副本集
在上一篇文章<搭建高可用MongoDB集群(一)——配置MongoDB> 提到了几个问题还没有解决. 主节点挂了能否自动切换连接?目前需要手工切换. 主节点的读写压力过大如何解决? 从节点 ...
- Java: IO 学习小结
源: 键盘 System.in 硬盘 FileStream 内存 ArrayStream 目的: 控制台 System.out 硬盘 FileStream 内存 ArrayStream 处理大文件或者 ...
- oracle数据库表空间追加数据库文件方法
oracle数据库表空间追加数据库文件方法 针对非大文件方式表空间,允许追加文件进行表空间的扩展,单个文件最大大小是32G 第一种方式:表空间增加数据文件 www.2cto.com 1 ...
- Jmail组件-----发送email
jmail是一个第三方邮件操作组件,通常位于web服务器端,和站点程序紧密配合来接收及提交邮件到邮件服务器的控件,让网站拥有发送邮件既接收邮件的功能. 之所以想尝试它的理由呢 是因为----jmail ...
- CSS3入门--线条动画特效实例
HTML: <div></div> CSS: div{ width: 200px; height: 200px; margin: 200px auto; background: ...
- android-oldman之TitleBar
随着大众口味的不断提高,对app要的开发的要求也不断提高,开发人员们要在app上展示的东西安也越来越多,android早期的一些控件慢慢的不不能满足开发的要求了,比如TitleBar的应用的就没有原来 ...
- IOS中的Block与C++11中的lambda
ios中的block 可以说是一种函数指针,但更确切的讲,其实际上其应该算是object-c对C++11中lambda的支持或者说是一个语言上的变体,其实际内容是一样的,C++的lambda我已经有简 ...
- C++重载流运算符,将存储结构体的vector直接写入文件
我们知道,当vector很大的时候,如果使用循环的方式将其中的元素写入文件将非常费时,因此有没有办法将vector一次性写入文件呢? 采用流运算符重载的方法可以做到,不仅基本类型的vector可以一次 ...