求一正则表达式

dadaoluobin 2005-10-15 01:56:54
不同名字之间用逗号隔开,如果名字中包含了逗号,则用[]或者“”将名字括起来,比如:
Smith,John, "Benth,M",[Rose,J].求一正则表达式用来分离各个名字.
...全文
390 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
vickyyu 2005-10-23
  • 打赏
  • 举报
回复
各个名字被1234隔开,比如:rich1234jack1234rose1234tom1234philip,怎样提取各个名字?

---------------------------------
就用楼上的方法,用split就可以达到目的
linuxyf 2005-10-18
  • 打赏
  • 举报
回复
string[] SplitArray = null;
try {
SplitArray = Regex.Split(SubjectString, "1234");
} catch (ArgumentException ex) {
// Syntax error in the regular expression
}
dadaoluobin 2005-10-17
  • 打赏
  • 举报
回复
up
dadaoluobin 2005-10-17
  • 打赏
  • 举报
回复
各个名字被1234隔开,比如:rich1234jack1234rose1234tom1234philip,怎样提取各个名字?
linuxyf 2005-10-15
  • 打赏
  • 举报
回复
楼主,试试这个,
try {
Regex RegexObj = new Regex("((\\\".+?\\\")|(\\[.+?])|[\\w\\s]+)");
Match MatchResults = RegexObj.Match(SubjectString);
while (MatchResults.Success) {

MatchResults = MatchResults.NextMatch();
}
} catch (ArgumentException ex) {
// Syntax error in the regular expression
}
fanruinet 2005-10-15
  • 打赏
  • 举报
回复
string content = @"Smith,John, ""Benth,M"",[Rose,J]";
Regex htmlRegex = new Regex(@"\s*((""[^""]*"")|(\[[^]]*\])|[^,]*)\s*", RegexOptions.IgnoreCase | RegexOptions.Compiled);
MatchCollection mc = htmlRegex.Matches(content);
for (int i=0; i<mc.Count; i++)
{
Console.Write(mc[i].Value + "\n");
}
结果:
Smith

John

"Benth,M"

[Rose,J]

111,125

社区成员

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

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

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