一些用到过的正则表达式

简介: 1、去除xml或者类似文件的头部信息string text = File.ReadAllText("E:\\AA.xml").Replace("\r\n","");text = Regex.Replace(text, @"<!-- *.* -->","", RegexOptions.IgnoreCase);功能:        将AA.xml文件中的回车、换行替换为“”,将
1、去除xml或者类似文件的头部信息
string text = File.ReadAllText("E:\\AA.xml").Replace("\r\n","");
text = Regex.Replace(text, @"<!-- *.* -->","", RegexOptions.IgnoreCase);
功能:
        将AA.xml文件中的回车、换行替换为“”,将<!-- *.* -->替换为“”。
        IgnoreCase(忽略大小写)匹配时不区分大小写。
        ReadAllText打开一个文本文件,读取文件的所有行,然后关闭该文件。

public static string ReadAllText(string path)
	path 类型:System.String 要打开以进行读取的文件。
	返回值  类型:System.String 包含文件所有行的字符串。
	public static string Replace (
		string input, // 要修改的字符串
		string pattern, //要匹配的正则表达式模式
		string replacement, //替换字符串
		RegexOptions options //RegexOption 枚举值的按位“或”组合
	) // 返回已修改的字符串
         如果想看Replace函数详细代码信息的话,用 Reflector或者ILSpy 打开System.dll ,在 System.Text.RegularExpressions 命名空间中找到 Regex 类,即可。
2、验证身份证信息
string reg = "^[0-9]{15,16}$";
小注:
        ^ 匹配字符串的开始
        […]       匹配[]内所列出的所有字符
        {n,m}   匹配前面的字符n到m次
        $ 匹配字符串的结束
3、验证主页,网址
Regex.IsMatch(str, @"^(http://){0,1}www.(\w)+.(com|net|org|com.cn|net.cn|org.cn|gov.cn|info|biz|tv|cc|cn)$");
小注:
        其中str为待验证的主页或者网址
        ^     匹配字符串的开始
       ( 和 )   标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。
       {n,m}  匹配前面的字符n到m次
        /w     匹配字母或数字或下划线或汉字
        +     重复一次或更多次
        ()         表示操作的范围和优先度, 如 "gr(a|e)y" 可以匹配 gray 或 grey.
         |           表示选择符号,"gray|grey"可匹配 gray 或 grey.
        $     匹配字符串的结束
4、检查文本或者字符串首位是否是数字
//匹配的正则表达式,去掉@不影响效果
Regex r = new Regex(@"^[0-9]");
小注:
        [0-9] 代表的含意与/d 就是完全一致的
5、验证邮编
string reg = "^[0-9]{6}$";
小注:
        {n}  匹配前面的字符n次
6、验证邮箱
string reg = "^[a-zA-Z][a-zA-Z0-9._]*@[a-zA-Z0-9.]+[.]+[a-zA-Z0-9]+$";
小注:
         ^ 匹配字符串的开始
         “@”表示,跟在它后面的字符串是个“逐字字符串”,不是很好理解,举个例子,以下两个声明是等效的:

string x="D:\\My Huang\\My Doc";
string y = @"D:\My Huang\My Doc";
          事实上,如果按如下声明,C#将会报错,因为“\”在C#中用于实现转义,如“\n”换行:
string x = "D:\My Huang\My Doc";
         * 表示前面的字符要出现0次,1次,乃至多次,上面没有封顶, 下面保底是0次,可以不出现。
         . 匹配除换行符以外的任意字符
         + 重复一次或更多次
         $ 匹配字符串的结束
7、匹配整数
System.Text.RegularExpressions.Regex.IsMatch(str, @"^-?\d+$")
小注:
        其中str为待验证的string类型变量
         ^ 匹配字符串的开始
        ? 重复零次或一次
        -?    重复零次或一次-
        /d 匹配数字
        + 重复一次或更多次
        \d+ 重复一次或更多次数字
        $ 匹配字符串的结束
或者:
^-?[1-9]\d*$
9、 取出两个__之间的部分
result = Regex.Match(abstractObjectEntity.Name, "(?<=_).*?(?=_)").Value;
10、
          




目录
相关文章
|
开发工具 git 缓存
Git忽略规则.gitignore不生效
在项目开发过程中个,一般都会添加 .gitignore 文件,规则很简单,但有时会发现,规则不生效。 原因是 .gitignore 只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
60854 4
Debian 官方源换为国内的源的操作方法
apt-get update 报错,采用更换源的方式解决问题。
55939 0
|
机器学习/深度学习 人工智能 芯片
极智AI | 谈谈为什么量化能加速推理
本文主要讨论一下为什么量化能加速模型推理。
746 0
|
Windows
[✔️]exe引入ffmpeg后,在win7上应用程序无法正常启动(0xc0000005)
[✔️]exe引入ffmpeg后,在win7上应用程序无法正常启动(0xc0000005)
1784 0
|
机器学习/深度学习 人工智能 Cloud Native
大语言模型推理提速,TensorRT-LLM 高性能推理实践
大型语言模型(Large language models,LLM)是基于大量数据进行预训练的超大型深度学习模型,本文主要讲述TensorRT-LLM利用量化、In-Flight Batching、Attention、Graph Rewriting提升 LLM 模型推理效率。
102391 2
|
11月前
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
171 1
|
Kubernetes 容器 Perl
在K8S中,请问harbor的secret创建能否直接创建资源清单?
在K8S中,请问harbor的secret创建能否直接创建资源清单?
|
机器学习/深度学习 PyTorch 算法框架/工具
ModelScope问题之训练的时候卡住如何解决
ModelScope训练是指在ModelScope平台上对机器学习模型进行训练的活动;本合集将介绍ModelScope训练流程、模型优化技巧和训练过程中的常见问题解决方法。
269 1
ModelScope问题之训练的时候卡住如何解决
|
JavaScript Java 测试技术
基于Java的网上房屋中介管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的网上房屋中介管理系统的设计与实现(源码+lw+部署文档+讲解等)
242 0