c#转义字符串中的所有正则特殊字符方法示例

代码如下:

/// <summary>
        /// 转义字符串中所有正则特殊字符
        /// </summary>
        /// <param name="input">传入字符串</param>
        /// <returns></returns>
        string FilterString(string input)
        {
            input = input.Replace("\\", "\\\\");//先替换“\”,不然后面会因为替换出现其他的“\”

Regex r = new Regex("[\\*\\.\\?\\+\\$\\^\\[\\]\\(\\)\\{\\}\\|\\/]");
            MatchCollection ms = r.Matches(input);
            List<string> list = new List<string>();
            foreach (Match item in ms)
            {
                if (list.Contains(item.Value))
                    continue;
                input = input.Replace(item.Value, "\\" + item.Value);
                list.Add(item.Value);
            }
            return input;
        }

(0)

相关推荐

  • C#正则表达式之Regex类用法详解

    Regex 类表示不可变(只读)的正则表达式.它还包含各种静态方法,允许在不显式创建其他类的实例的情况下使用其他正则表达式类. 正则表达式基础概述 什么是正则表达式 在编写字符串的处理程序时,经常会有查找符合某些复杂规则的字符串的需要.正则表达式就是用于描述这些规则的工具.换句话说,正则表达式就是记录文本规则的代码. 通常,我们在使用WINDOWS查找文件时,会使用通配符(*和?).如果你想查找某个目录下的所有Word文档时,你就可以使用*.doc进行查找,在这里,*就被解释为任意字符串.和通配

  • C#使用正则表达式过滤html标签

    在项目中遇到这样一个需求,需要将一段html转换为一般文本返回,万能的正则表达式来了. 正则表达式来拯救你,代码如下: public static string Html2Text(string htmlStr) { if (String.IsNullOrEmpty(htmlStr)) { return ""; } string regEx_style = "<style[^>]*?>[\\s\\S]*?<\\/style>"; //定

  • C#正则表达式使用方法示例

    第一步先要引入有关正则式的命名空间: 复制代码 代码如下: using System.Text.RegularExpressions; 第二步用指定的正则式构建一个正则表达式对象,下面的正则式是用来搜索长度为10的a-z的英文字母: 复制代码 代码如下: Regex obj = new Regex("[a-z]{10}"); 最后,根据正则式在指定数据中检索匹配项,如果匹配IsMatch方法就会返回true. 复制代码 代码如下: MessageBox.Show(obj.IsMatch

  • C#的正则表达式Regex类使用简明教程

    C#中为正则表达式的使用提供了非常强大的功能,这就是Regex类.这个包包含于System.Text.RegularExpressions命名空间下面,而这个命名空间所在DLL基本上在所有的项目模板中都不需要单独去添加引用,可以直接使用. 1.定义一个Regex类的实例 复制代码 代码如下: Regex regex = new Regex(@"\d"); 这里的初始化参数就是一个正则表达式,"\d"表示配置数字. 2.判断是否匹配 判断一个字符串,是否匹配一个正则表

  • c#判断字符是否为中文的三种方法分享(正则表达式判断)

    1.用ASCII码判断 在 ASCII码表中,英文的范围是0-127,而汉字则是大于127,具体代码如下: 复制代码 代码如下: string text = "是不是汉字,ABC,柯乐义";       for (int i = 0; i < text.Length; i++)       {            if ((int)text[i] > 127)                  Console.WriteLine("是汉字");    

  • C#基于正则表达式实现获取网页中所有信息的网页抓取类实例

    本文实例讲述了C#基于正则表达式实现获取网页中所有信息的网页抓取类.分享给大家供大家参考,具体如下: 类的代码: using System; using System.Data; using System.Configuration; using System.Net; using System.IO; using System.Text; using System.Collections.Generic; using System.Text.RegularExpressions; using

  • C#匹配中文字符串的4种正则表达式分享

    本文介绍在C#中使用匹配中文的正则表达式,包括纯中文.有中文.中文开头.中文结尾等几个正则表达式示例.在正则表达式中,中文可以通过Unicode编码来确定正则表达式范围. 在C#中,匹配中文的正则表达式用Unicode来表示时,范围是: [\u4e00-\u9fa5].所以,在此基础上,我们可以得到如下一些正则表达式. 1.匹配字符串全部是中文字符的正则表达式 复制代码 代码如下: "^[\u4e00-\u9fa5]+$" 说明:"^"表示字符串开头,"$

  • c#中过滤html的正则表达式

    实现代码 /// <summary> /// 去除HTML标记 /// </summary> /// <param name="NoHTML">包括HTML的源码 </param> /// <returns>已经去除后的文字</returns> public static string NoHTML(string Htmlstring) { //删除脚本 Htmlstring = Regex.Replace(Htm

  • C#基于正则去掉注释的方法示例

    本文实例讲述了C#基于正则去掉注释的方法.分享给大家供大家参考,具体如下: string HoverTreeClearMark(string input) { input = Regex.Replace(input, @"/\*[\s\S]*?\*/", "", RegexOptions.IgnoreCase); input = Regex.Replace(input, @"^\s*//[\s\S]*?$", "", Rege

  • c# 正则表达式对网页进行有效内容抽取

    搜索引擎中一个比较重要的环节就是从网页中抽取出有效内容.简单来说,就是吧HTML文本中的HTML标记去掉,留下我们用IE等浏览器打开HTML文档看到的部分(我们这里不考虑图片). 将HTML文本中的标记分为:注释,script ,style,以及其他标记分别去掉: 1.去注释,正则为: output = Regex.Replace(input, @"<!--[^-]*-->", string.Empty, RegexOptions.IgnoreCase); 2.去scrip

  • 正则表达式语法规则及在Javascript和C#中的使用方法

    一.正则表达式概念: 在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容.许多程序设计语言都支持利用正则表达式进行字符串操作. 二.正则表达式的使用: 正则表达式在ASP.NET中主要是用来对输入的内容进行验证,验证一般分为两种一种是客户端JS验证,另一种是服务器端验证 1.JS对输入内容验证 复制代码 代码如下: function check() {           

  • C#正则表达式匹配HTML中的图片路径,图片地址代码

    一般来说一个 HTML 文档有很多标签,比如"<html>"."<body>"."<table>"等,想把文档中的 img 标签提取出来并不是一件容易的事.由于 img 标签样式变化多端,使提取的时候用程序寻找并不容易.于是想要寻找它们就必须写一个非常健全的正则表达式,不然有可能会找得不全,或者找出来的不是正确的 img 标签.我们可以从 HTML 标签的格式去想应该怎么建这个正则表达式.首先要想一下 img

随机推荐