现有一些正则表达式形如:>[^a-zA-Z0-9]{1,10}[0-9]{1,10}[^a-zA-Z0-9]{1,10}</a>$
又或者:</a>(.{1,20})</td>(.{1,20})</tr>(.{1,20})<tr height="25">(.{1,20})<td>(.{1,20})a href=总之多个表达式,内容各不相同现在要求在各个表达式内部加上特定符号"¥",比如 :>[^a-zA-Z0-9]{1,10}¥[0-9]{1,10}¥[^a-zA-Z0-9]{1,10}</a>$则要求写一函数,函数能获取匹配  正则表达式 的内容, 然后进一步筛选,并且最终得出的结果为 ¥ 之间的内容
如文字string A: </div>人名币500万</a>  
A的正则为: div>[^a-zA-Z0-9]{1,10}¥[0-9]{1,10}¥[^a-zA-Z0-9]{1,10}</a>$最后得出的结果应该为: 500求高人赐教

解决方案 »

  1.   


    在正则中加入 ¥特殊字符,用来标示哪部分是我想要的,而匹配的是否只需要把 ¥ replace就可以请你认真阅读要求在回复,谢谢
      

  2.   

    举个很简单的例子>[^a-zA-Z0-9]{1,10}[变量1][0-9]{1,10}[变量1][^a-zA-Z0-9]{1,10} </a>$ 
    正则如此,然后你把[变量1]替换为你想的字符串就可以了,没有就替换为空
      

  3.   

    自己说的不清不楚还红字challenge别人的回答。
      

  4.   

    何必这么麻烦,要取值的话看一下正则分组的相关知识(?<price>)
      

  5.   

    = =,没测试随手写了个.你是想要个加特殊字符的,还是想要个 去特殊字符的= =..去的代码如下
    加的...需求不明...//v 特殊字符 expression表达式
    private Regex getRegex(string expression, string v) {Match m = Regex.Match(expression, string.format("(?<={0}).*(?={0})", Regex.Escape(v)));return m.Success ? new Regex(m.Value) : null;
    };
      

  6.   

    把多个正则表达式中的价格都用相同的分组名称(?<price>)这样只要取m.groups["price"].value就行了,没必要在加入什么¥符号,再用正则来匹配
      

  7.   

            private Regex getRegex(string expression, string v)
            {            Match m = Regex.Match(expression, string.Format("(?<={0}).*(?={0})", Regex.Escape(v)));            return m.Success ? new Regex(m.Value) : null;
            }#调用
    string v = @":>[^a-zA-Z0-9]{1,10}¥[0-9]{1,10}¥[^a-zA-Z0-9]{1,10} </a>$";
                Regex r = getRegex(v, "¥");
      

  8.   

    参考:
    在正则表达式中使用?<href>然后用ma.Result("${href}");取值
        public static string NameUrlReg = @"<a([^\<\>]*)?href=[""|']?(?<href>[^<>\s""']*)[""|']?([^\<\>]*)?>(?<Name>[^\<\>]*)</a>";
            /// <summary>
            /// 获取字符串中URL列表
            /// </summary>
            /// <param name="Str"></param>
            /// <returns></returns>
            public static WebLink[] GetNameUrlList(ref string BodyStr, string siteUrl, string comeFromUrl)
            {            ArrayList UrlList = new ArrayList();            Regex re = new Regex(NameUrlReg, RegexOptions.IgnoreCase);
                MatchCollection matchColl = re.Matches(BodyStr);            foreach (Match ma in matchColl)
                {
                    string href = ma.Result("${href}");
                    string name = ma.Result("${Name}");
                    href = GetAbsFullUrl(href, comeFromUrl);
                    if (IsUrlAddress(href))
                    {
                        WebLink link = new WebLink(href, name);
                        link.FromUrl = comeFromUrl;
                        UrlList.Add(link);
                    }
                }
                WebLink[] aArr = new WebLink[UrlList.Count];
                UrlList.CopyTo(aArr);
                return aArr;
            }