使用正则表达式替换提取字符

将 td th 标签替换,保留标签内容

  public  string TextFilter(string CommandText)
    {
        CommandText = Regex.Replace(CommandText, @"(?<part1>(<td>\n*\r*))(?<part2>(%?[^%]+))(?<part3>(</td>))", new MatchEvaluator(TextFilter), RegexOptions.IgnoreCase | RegexOptions.Multiline);
        CommandText = Regex.Replace(CommandText, @"(?<part1>(<td[^>]*>\n*\r*))(?<part2>(%?[^%]+))(?<part3>(</td>))", new MatchEvaluator(TextFilter), RegexOptions.IgnoreCase | RegexOptions.Multiline);
        CommandText = Regex.Replace(CommandText, @"(?<part1>(<th[^>]*>\n*\r*))(?<part2>(%?[^%]+))(?<part3>(</th>))", new MatchEvaluator(TextFilter), RegexOptions.IgnoreCase | RegexOptions.Multiline);
        CommandText = Regex.Replace(CommandText, @"(?<part1>(<td[^>]*>\n*\r*))(?<part2>(</td>))", new MatchEvaluator(TextFilter2), RegexOptions.IgnoreCase | RegexOptions.Multiline);
        return CommandText;
    }
    public string TextFilter(Match match)
    {
        string part1 = match.Groups["part1"].Value;
        string part2 = match.Groups["part2"].Value;
        string part3 = match.Groups["part3"].Value;
        return part2.Replace("&nbsp;", "").Trim();
    }

提取span里面的内容,如未包含span则返回原始字符串

  public string SpanText(string CommandText)
    {
        Regex reg = new Regex(@"(?<part1>(.*<span[^>]*>\n*\r*))(?<part2>(%?[^>]+))(?<part3>(</span>))", RegexOptions.IgnoreCase | RegexOptions.Multiline);
        var result = reg.Match(CommandText).Groups;

        if (result["part2"] != null && result.Count > 1)
        {
            return result["part2"].Value;
        }
        else
        {
            return CommandText;
        }
    }
时间: 2024-11-08 16:22:26

使用正则表达式替换提取字符的相关文章

Python 正则表达式替换特定字符为标志的字符串

Requirement: [ { "code": "AF", "value": 53, "name": "Afghanistan" }, { "code": "AL", "value": 117, "name": "Albania" }, { "code": "DZ",

java 正则表达式替换首尾字符或符号

java 正则表达式替换首尾字符或符号 private String replaceStr(String str){ Pattern pattern = Pattern.compile("^,+|,+$"); Matcher matcher = pattern.matcher(str); return matcher.replaceAll(""); } String newStr = replaceStr(",222,3344,344,,,,,"

Java 正则表达式 regex 提取字符

直接上代码: 1 @Test 2 3 public void contextLoads() { 4 5 /*String str="this is (Tom) and \"Eric\", this is \"Bruce lee\", he is a chinese, name is \"李小龙\"."; 6 7 Pattern p= Pattern.compile("\"(.*?)\""

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

表达式 说明\t 制表符.\n 新行.. 匹配任意字符.| 匹配表达式左边和右边的字符. 例如, "ab|bc" 匹配 "ab" 或者 "bc".[] 匹配列表之中的任何单个字符. 例如, "[ab]" 匹配 "a" 或者 "b". "[0-9]" 匹配任意数字.[^] 匹配列表之外的任何单个字符. 例如, "[^ab]" 匹配 "a&q

[转]notepad++正则表达式替换字符串详解

原文:http://blog.csdn.net/qinboecjtu/article/details/6035028 正则表达式是一个查询的字符串,它包含一般的字符和一些特殊的字符,特殊字符可以扩展查找字符串的能力,正则表达式在查找和替换字符串的作用不可忽视,它 能很好提高工作效率. EditPlus的查找,替换,文件中查找支持以下的正则表达式: 表达式 说明 /t 制表符. /n 新行. . 匹配任意字符. | 匹配表达式左边和右边的字符. 例如, "ab|bc" 匹配 "

正则表达式中各种字符的意义

正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替换或者从某个串中取出符合某个条件的子串等. 列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的. 正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配. 3.1 普通字符 由所有那些未显式指定为元字符的

正则表达式中各种字符的含义

正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替换或者从某个串中取出符合某个条件的子串等. 列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的. 正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配. 3.1 普通字符 由所有那些未显式指定为元字符的

正则表达式中各字符的含义

正则表达式中各种字符的含义 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替换或者从某个串中取出符合某个条件的子串等. 列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的. 正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配. 3.1 普通字符 由

EditPlus正则表达式替换字符串详解

网上搜集了些实例 正则表达式是一个查询的字符串,它包含一般的字符和一些特殊的字符,特殊字符可以扩展查找字符串的能力,正则表达式在查找和替换字符串的作用不可忽视,它能很好提高工作效率. EditPlus的查找,替换,文件中查找支持以下的正则表达式: Expression Description\t Tab character.\n New line.. Matches any character.| Either expression on its left and right side matc