C# 如何用正则表达式替换字符串?

来源:百度知道 编辑:UC知道 时间:2024/05/17 19:12:57
原字符串:
1.item = new ListItem("|-" + reader.get_Item("class_name").ToString(), reader2.get_Item("id").ToString() + "a", true);
2.this.di1id = reader.get_Item("di_cen1_id").ToString();

要替换为:
1.item = new ListItem("|-" + reader["class_name"].ToString(), reader2["id"].ToString() + "a", true);
2.this.di1id = reader["di_cen1_id"].ToString();

正则查找:reader{.*}\.get_Item\({\".*\"}\)\.
正则替换:reader\1\[\2]\.

这样第2项可以,第1项不行,应该是正则表达式不对,错在哪里?
to:zwffabuer:按你说的测试了,提示找不到文本,不行啊

是楼主的方程里使用了贪婪模式,改成懒汉就好了
事实这个:
reader{.*?}\.get_Item\({\".*?\"}\)\.
不好意思阿,我以为搂主的编译环境用大括号代表记忆分组,改一下,我在java里测试的方程:
reader(.*?)\.get_Item\((\".*?\")\)\.
试试这个。

留个名..以后看下...