替换规则:

替换中包含原部分逐句,可以用分组的方式来替换,用?<组名>来标记需要记录的数据,在替换的时候使用

${组名} 或者 <组名> 来加载这部分数据。

例如:

替换:<img>abc</img>为  [图片]abc 或者 <img>bcd</img>为  [图片]bcd

方法:Regex.Replace(“<img>abc</img>”,@“<img>(?<str>.*?)</img>”,"[图片]${str}");

有时有些字符只需要作为占位规则,而不需要替换,那么就需要用到下面这种规则:

(?<=...)表示前置占位但不匹配 (?=...)表示后置占位但不匹配

例如:

替换:<img src="file://c:\abc.png"></img>为:  <img src="guid"></img>

这里需要满足是一个图片标签,所以需要用到占位匹配,但又并不替换掉这些占位符,所以如下:

string input = @"<img src=""file://c:\abc.png""></img>";
           string pattern = @"(?<=<img src="").+?(?=""></img>)";
           string replacement = "guid";
           var val = Regex.Replace(input, pattern, replacement);

c#正则表达式替换的更多相关文章

  1. editplus-使用正则表达式替换每行首字母和尾字母

    打开EditPlus,输入多行数据,快捷键ctrl+h 打开替换窗口,选择“正则表达式”替换 行首批量添加   查找"^" 替换为“我是行首aaa” 行尾批量添加   查找&quo ...

  2. Notepad++快捷键&正则表达式替换字符串&插件

    Notepad++绝对是windows下进行程序编辑的神器之一,要更快速的使用以媲美VIM,必须灵活掌握它的快捷键,下面对notepad++默认的快捷键做个整理(其中有颜色的为常用招数): 1. 文件 ...

  3. 关于在Eclipse中使用正则表达式替换的一点记录(使用正则表达式的分组)

    今天在工作中遇到了点替换的麻烦事,由于数据类进行了变动,具体情况是这样的,需要将下面的代码: player.skillData[i].name 替换为: player.skillData.getSki ...

  4. notepad++正则表达式替换字符串详解

    正则表达式是一个查询的字符串,它包含一般的字符和一些特殊的字符,特殊字符可以扩展查找字符串的能力,正则表达式在查找和替换字符串的作用不可忽视,它 能很好提高工作效率. EditPlus的查找,替换,文 ...

  5. 使用Dreamweaver正则表达式替换href中的内容

    在Dreamweaver中使用正则表达式替换href中的内容,就像下面这些href中的内容复杂多样的情况下,href="/html/u.html",href="/tuho ...

  6. java replaceall 使用正则表达式替换单等号,不替换其他相关的等号。

    写项目需要将公式配置到数据库中,取出后根据公式规则进行比较,由于公式的等于是用单等号,在java中无法直接使用,故需要将单等号替换成双等号,单又不能影响大于等于以及其他形式.故果断选择正则表达式替换. ...

  7. 在notepad++里面使用正则表达式替换掉所有行逗号前面内容

    需求:在notepad++里面使用正则表达式替换掉所有行逗号前面内容,一文本内容如下(只贴一小部分,实际上N多): 级别,層級程序,程式插件,外掛程式鼠标,滑鼠打印,列印打开,開啟博客,部落格联系,聯 ...

  8. JS 利用正则表达式替换字符串

    JS 利用正则表达式替换字符串 博客分类: JavaScript 学习资料 Java代码 收藏代码 JS 利用正则表达式替换字符串 var data = "123123,213,12312, ...

  9. NotePad++ 正则表达式替换

    NotePad++ 正则表达式替换 高级用法 [转] - aj117 - 博客园 https://www.cnblogs.com/tibit/p/6387199.html const getQAPar ...

  10. 正则表达式替换字符串中的html标签

    正则表达式替换字符串中的html标签 ··· var newStr = str.replace(/<[^>]+>/g, ''); ···

随机推荐

  1. jquery 滚动效果插件

    1.css <style> .fl { float: left; } .slider0 img { display: block; width:100px; padding: 2px; } ...

  2. python 基础 4.5 用函数实现九九乘法表

    #/usr/bin/python #coding=utf-8 #@Time   :2017/11/3 10:44 #@Auther :liuzhenchuan #@File   :用函数实现九九乘法口 ...

  3. springcloud与docker微服务架构实战--笔记

    看了<微服务那些事>之后,Spring boot和Spring Cloud的关系理清楚了,Spring cloud各个模块的作用也了解了. 但是,Spring cloud 与Docker的 ...

  4. Hibernate的配置文件 Hibernate.cfg.xml与xxx.hbm.xml

    1.hibernate.cfg.xml配置如下: (数据库连接配置) <?xml version="1.0" encoding="UTF-8"?>& ...

  5. 九度OJ 1021:统计字符 (基础题)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5418 解决:3146 题目描述:     统计一个给定字符串中指定的字符出现的次数. 输入:     测试输入包含若干测试用例,每个测试用 ...

  6. babylon

    https://github.com/babel/babel babylon - npm https://www.npmjs.com/package/babylon Babel is a compil ...

  7. 如果数据需要被多个应用程序消费的话,推荐使用 Kafka,如果数据只是面向 Hadoop 的,可以使用 Flume

    https://www.ibm.com/developerworks/cn/opensource/os-cn-kafka/index.html Kafka 与 Flume 很多功能确实是重复的.以下是 ...

  8. centos7 执行一个数据库脚本创建项目中的数据库

    [root@localhost ~]# su postgres 切换用户 bash-4.2$ psql could not change directory to "/root": ...

  9. API的理解和使用——哈希类型的命令

    哈希常用的命令复习 命令 功能 hset key field value 设置哈希值 hsetnx 设置哈希值,field或键必须不存在 hget 获取某个file对应的值 hdel 删除一个或多个f ...

  10. python获取本机IP地址

    方法一 通常使用socket.gethostname()方法即可获取本机IP地址,但有时候获取不到(比如没有正确设置主机名称) import socket #获取计算机名称hostname=socke ...