C# 简单正则表达式分割的一个问题

qq183670101 2011-05-11 11:24:32

我要取出两个#之间的内容, 该怎么写?


比如说:
string sql = "select divide_id,create_date,divide_amount from income_divide where #divide_id# and #create_date#";


我要的是红色中的 divide_id和create_date,我这样的写不对

string[] dd = Regex.Split(sql, @"(?<=#)[\s\S]+(?<=#)");


麻烦高手之指点下 很感谢的。
...全文
95 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
言多必失 2011-08-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bbaxx101 的回复:]
我觉得你想写是的replace吧
[/Quote]

楼主接错了吧 ,本来想给上楼的。
qq183670101 2011-05-30
  • 打赏
  • 举报
回复
string sql2 = "<script type=\"text/javascript\">..我是第一个.</script> 你好<script type=\"text/javascript\">..我是第二个.</script> <script type=\"text/javascript\">..我是第三个.</script> 你 好";

MatchCollection matchs2 = Regex.Matches(sql2, "(?<=<script type=\"text/javascript\">)[^</script>]+(?=</script>)");
string dd2 = "";
foreach (Match match in matchs2)
{
dd2 += match.Value + "\r\n";
}
bbaxx101 2011-05-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 qq183670101 的回复:]
我要取出两个#之间的内容, 该怎么写?


比如说:
string sql = "select divide_id,create_date,divide_amount from income_divide where #divide_id# and #create_date#";


我要的是红色中的 divide_id和create_date,我这样的写不对

string……
[/Quote]

1楼写的很正确
bbaxx101 2011-05-11
  • 打赏
  • 举报
回复
我觉得你想写是的replace吧
冰川711 2011-05-11
  • 打赏
  • 举报
回复

string sql = "select divide_id,create_date,divide_amount from income_divide where #divide_id# and #create_date#";
MatchCollection matchs = Regex.Matches(sql, @"(?<=#)[^# ]+(?=#)");
foreach (Match match in matchs)
{
textBox1.Text += match.Value + "\r\n";
}

porschev 2011-05-11
  • 打赏
  • 举报
回复



(?<=#)\w.*?(?=#)


q107770540 2011-05-11
  • 打赏
  • 举报
回复

void Main()
{
string str=@"string sql = ""select divide_id,create_date,divide_amount from income_divide where #divide_id# and #create_date#"";";
foreach(Match m in Regex.Matches(str,@"(?<=#)[^#\s]+(?=#)"))
{
Console.WriteLine(m.Value);
}
/*
divide_id
create_date
*/
}

110,536

社区成员

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

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

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