[跪求]算法

曲滨_銘龘鶽 2005-01-07 10:54:59
求算法
就是取 messagebox.show(<里面的内容>)
情况有很多如下:
MessageBox.Show("哈哈","提示");
取:"哈哈","提示"

MessageBox.Show(String.Format("当前时间 {0}",DateTime.Now),"提示");
取:String.Format("当前时间 {0}",DateTime.Now),"提示"

MessageBox.Show("当前时间"
+ DateTime.Now.ToString(),"提示");
取:"当前时间"
+ DateTime.Now.ToString(),"提示"

MessageBox.Show("当前读取纪录:" +
dt.Rows.Count.ToString()+
String.Format("当前时间 {0}",DateTime.Now) ,"提示");
取:"当前读取纪录:" +
dt.Rows.Count.ToString()+
String.Format("当前时间 {0}",DateTime.Now) ,"提示"

用正则表达式 试验了很久也没搞定,求各位朋友帮忙求个算法,先谢谢了
...全文
260 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
曲滨_銘龘鶽 2005-01-24
  • 打赏
  • 举报
回复
这回还查不多,下面的贴有 400 分那等你去拿。
太晚了、明天验证好使不看看。

http://community.csdn.net/Expert/TopicView.asp?id=3750800
http://community.csdn.net/Expert/TopicView.asp?id=3341708
cnhgj 2005-01-24
  • 打赏
  • 举报
回复
string str = richTextBox1.Text;
string pattern = @"MessageBox.Show\((?<content>[\s\S]*?)\);";
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(pattern);
foreach(System.Text.RegularExpressions.Match m in regex.Matches(str))
MessageBox.Show(m.Groups["content"].Value);
yufenfeila 2005-01-24
  • 打赏
  • 举报
回复
大哥你这问题还没解决……100分真不好拿,呵呵
可以最小匹配,修改了一下:

string str = textBox1.Text;
string pattern = @"MessageBox.Show\(((.|\n)*?)\);";
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(pattern);
str = regex.Replace(str, "$1", -1);
textBox2.Text = str;
曲滨_銘龘鶽 2005-01-24
  • 打赏
  • 举报
回复
正则 能尽量向最小匹配进行匹配不?
曲滨_銘龘鶽 2005-01-24
  • 打赏
  • 举报
回复
在C#里是允许这样的
MessageBox.Show("3","3");MessageBox.Show("3","3");


虽然很少但也是可能的啊!
曲滨_銘龘鶽 2005-01-24
  • 打赏
  • 举报
回复
哥们你用
MessageBox.Show("3","3");MessageBox.Show("3","3");
看看
得到
"3","3");MessageBox.Show("3","3"
yufenfeila 2005-01-10
  • 打赏
  • 举报
回复
楼主,我正则写的不完善,下面的是改进过的

string str = textBox1.Text;
string pattern = @"MessageBox.Show\(((.|\n)*)\);";
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(pattern);
str = regex.Replace(str, "$1", -1);
textBox2.Text = str;

这次的没有\[的问题了,并且多行的也可以正确处理,试试看
yufenfeila 2005-01-09
  • 打赏
  • 举报
回复
我已经测试过了,应该符合你的要求
你可以开两个TextBox试试

string str = textBox1.Text;
string pattern = @"MessageBox.Show\((.[^\[]*)\);";
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(pattern);
str = regex.Replace(str, "$1", -1);
textBox2.Text = str;

如果有什么问题给我短信
Fibona 2005-01-09
  • 打赏
  • 举报
回复
用正则表达式来进行分析,行不行?
zachary7833 2005-01-09
  • 打赏
  • 举报
回复
同意楼上的
曲滨_銘龘鶽 2005-01-09
  • 打赏
  • 举报
回复
string str = "MessageBox.Show(\"本次查询[3]条,耗时[13.5]毫秒\",\"提示\");";
string pattern = @"MessageBox.Show\((.[^\[]*)\);";
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(pattern);
str = regex.Replace( str, "$1", -1 );

哥们你怎么试验的啊 为何里面不能有 \[ 想不懂???
yufenfeila 2005-01-08
  • 打赏
  • 举报
回复
string str = "MessageBox.Show(\"哈哈\",\"提示\");";
string pattern = @"MessageBox.Show\((.[^\[]*)\);";
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(pattern);
str = regex.Replace( str, "$1", -1 );
石榴刺猬 2005-01-08
  • 打赏
  • 举报
回复
简单的用词法分析的方法不就可以了么?

匹配了MessageBox.Show后,然后匹配 ( 和 )
心情解码 2005-01-08
  • 打赏
  • 举报
回复
兄弟不懂..

帮你顶 :)
曲滨_銘龘鶽 2005-01-08
  • 打赏
  • 举报
回复
yufenfeila(雨纷飞啦) 你的方法不行啊 不润序 \ 和 [ 是什么意识?
没人答啊!
Jinpanxu 2005-01-08
  • 打赏
  • 举报
回复
mark,學習
sangengyi 2005-01-07
  • 打赏
  • 举报
回复
问题不清楚,看不出要什麽算法。

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧