读书人

正则表达式匹配有关问题

发布时间: 2012-05-20 16:03:12 作者: rapoo

正则表达式匹配问题
例如<a href="xw_read123"></a>
现在要把他变成<a href="xw_read123.html"></a>,前面连接的xw_read是不变的,只有后面的数字会变,现在就是把带有xw_read的链接后面加个.html

[解决办法]

C# code
string tempStr = @"<a href=""xw_read129""></a>";                string pattern = @"(?i)(?<=<a[^>]*?href=(['""]?)[^'""]*?xw_read[^'""]*)(?=(['""]?)>)";                string result = Regex.Replace(tempStr, pattern, ".html");//<a href=\"xw_read123.html\"></a>
[解决办法]
C# code
html=Regex.Replace(html,@"(?i)(?<=<a\b[^>]*?href=(['""]?)xw_read\d+)(?=\1[^>]*?>[^<>]*</a>",".html");
[解决办法]
C# code
        private string ReplaceStr(Match m)        {            return m.Value+".html";        }        private void button10_Click(object sender, EventArgs e)        {            StreamReader reader = new StreamReader("c:\\1.txt");            string source = reader.ReadToEnd();            Regex reg = new Regex(@"(?is)(?<=<a\s?href[^>].*?)xw_read[\d]+");            source = reg.Replace(source, ReplaceStr);        }
[解决办法]
C# code
            string str = "<a href=\"xwread/xw_read1213\"></a>";            string result = Regex.Replace(str, @"(?is)(?<=<a[^>]*?href=(['""\s]?).*?xw_read\d+)(?=\1)", ".html");            Console.WriteLine(result); 

读书人网 >asp.net

热点推荐