求一条正则表达式

luckboy1988 2011-06-18 02:09:38
原字符串:

电视剧语第1集
电视剧粤语第1集
电视剧第2集
电视剧粤语第2集
粤剧大全第3集

想要的匹配结果: 电视剧语第1集,电视剧第2集,粤剧大全第3集

请大家帮帮忙
...全文
59 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
luckboy1988 2011-06-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 luckboy1988 的回复:]
非常感谢你!!

但是例如: ”看粤剧有兴趣” 这类型的就不行了。 不知道正则能不能解决这类问题。

正则 的 ”^“不能排除词语,真麻烦
[/Quote]


string str = "电视剧语第1集 电视剧粤语第1集 电视剧第2集 电视剧粤语第2集 粤剧大全第3集";
Regex re = new Regex("\\b\\w[^粤]+\\b", RegexOptions.None);
MatchCollection mc = re.Matches(str);
string result = string.Empty;
foreach (Match ma in mc)
{
result += ma.Value + "—";
}
huangwenquan123 2011-06-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 luckboy1988 的回复:]
非常感谢你!!

但是例如: ”看粤剧有兴趣” 这类型的就不行了。 不知道正则能不能解决这类问题。

[/Quote]
要匹配的规则是什么?
luckboy1988 2011-06-18
  • 打赏
  • 举报
回复
非常感谢你!!

但是例如: ”看粤剧有兴趣” 这类型的就不行了。 不知道正则能不能解决这类问题。

正则 的 ”^“不能排除词语,真麻烦
porschev 2011-06-18
  • 打赏
  • 举报
回复

如果中间都有个空格或换行符隔开。。


string str = "电视剧语第1集 电视剧粤语第1集 电视剧第2集 电视剧粤语第2集 粤剧大全第3集";
Regex re = new Regex("\\b\\w[^粤]+\\b", RegexOptions.None);
MatchCollection mc = re.Matches(str);
string result = string.Empty;
foreach (Match ma in mc)
{
result += ma.Value + "—";
}

结果:
电视剧语第1集-电视剧第2集-粤剧大全第3集



porschev 2011-06-18
  • 打赏
  • 举报
回复

你这些中间用什么隔开的?都有换行符?

110,534

社区成员

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

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

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