这样的正则表达式怎么写?

WizardBear 2007-07-24 01:51:14
字段1:字段一的内容 字段2:字段二的内容
字段3:字段三的内容 ...

想把字段1和字段2之间的内容摘出来.
...全文
150 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
WizardBear 2007-07-24
  • 打赏
  • 举报
回复
郁闷了,vb6上的RegularExpression 5.5不支持“?<= ?=”,狂晕~~~~~
ruan_hg 2007-07-24
  • 打赏
  • 举报
回复
写错了,\s\S代表任意空字符和非空字符,比\w更强,因为它可以表示有换行的情况
WizardBear 2007-07-24
  • 打赏
  • 举报
回复
实验成功了!非常感谢各位提供了很好的思路,我的表达式是这样的:
[\u4E00-\u9FA5]*(?<=字段1:).*(?=字段2)

to ruan_hg(阿阮) :/s/S是什么意思?
to 2楼3楼:\w+应该好使的,可是我这里通不过,不知道为啥?
结帐
WizardBear 2007-07-24
  • 打赏
  • 举报
回复
感谢上面几位的答案,可是都不好使,可能是我写的误导大家了,上面写的字段1...都是举例,实际情况可以是任何字,比如说:
String s=@"姓名:张三 性别:男 家庭地址:北京市海淀区中关村大街1号 课程:英语。。。"
比如从上述字串里通过正则表达式摘出“北京市海淀区中关村大街1号”这些内容来。
ruan_hg 2007-07-24
  • 打赏
  • 举报
回复
Regex rg = new Regex(@"(?<=字段1:)\s\S(?=字段2)");
JustLovePro 2007-07-24
  • 打赏
  • 举报
回复
Regex rg = new Regex(@"(?<=:)\w+");
JustLovePro 2007-07-24
  • 打赏
  • 举报
回复
string str = "字段1:字段一的內容 字段2:字段二的內容 字段3:字段三的內容 ";

Regex rg = new Regex(@"(?<=:)\w+(?= )");

MatchCollection mc = rg.Matches(str);

foreach (Match m in mc)
{
Console.WriteLine(m.Value);
}
bdbox@qq.com 2007-07-24
  • 打赏
  • 举报
回复
string sourceString = "字段1:字段一的内容 字段2:字段二的内容 字段3:字段三的内容";
System.Text.RegularExpressions.MatchCollection results = Regex.Matches(sourceString,@"字段\d\:([^\s]*)",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
foreach(Match result in results)
{
WL(result.Groups[1].Value);
}

//////////////////////////////////////////////
MSN:bdbox@hotmail.com请给我一个与您交流的机会!

110,571

社区成员

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

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

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