C#正则匹配获取字符串

lihengupdate 2016-10-28 05:57:57
张三的歌带\\c[222,3,45]你到处abc,\n\r观\\c[222,67,45]赏 没有烦恼没有那悲伤 自由自在身心多开朗 忘掉痛苦忘掉那悲伤 我们一起启程去流\\c[222,234,245]浪 虽然没

正则怎么匹配以上字符串中最后一个\\c[x,x,x] 并拿到值\\c[222,234,245]
...全文
340 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lihengupdate 2016-10-31
  • 打赏
  • 举报
回复
引用 5 楼 xuzuning 的回复:
.+(\\\\c\[[\d},]+\])


大神你好~~按照你测试的结果正则应该是没问题的,但是我在C#里用的时候就是匹配不了~~不知道是不是转义符的问题??~~
q107770540 2016-10-29
  • 打赏
  • 举报
回复
从右向左匹配 不就是匹配第一个了么?
爱此清夜雨 2016-10-28
  • 打赏
  • 举报
回复
楼上一些写法不完全对,仅能匹配三位的,不能匹配一位数字的,我自己写了一个,给楼主参考下。

[\\]{2}c\[([\d]+[,]){2}[\d]+\]
至于匹配最后一个,编程语言返回一个集合,用索引取得最后一个即可
xuzuning 2016-10-28
  • 打赏
  • 举报
回复
.+(\\\\c\[[\d},]+\])
EnForGrass 2016-10-28
  • 打赏
  • 举报
回复
string pattern = @"\\\\c\[\d+,\d+,\d+\]" 参考这里面的匹配写法,https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.matchcollection(v=vs.110).aspx 取最后一个,类似于这种matches.LastOfDefault();(不保证这么写对,大概这个意思)
EnForGrass 2016-10-28
  • 打赏
  • 举报
回复
引用 2 楼 lihengupdate 的回复:
[quote=引用 1 楼 Chinajiyong 的回复:] string pattern = @"\\\\c\[\d{3},\d{3},\d{3}\]"
这个好像没有包含最后一个匹配项这个条件 判断最后一个匹配项怎么写[/quote] 去最后一个匹配项就OK了啊
lihengupdate 2016-10-28
  • 打赏
  • 举报
回复
引用 1 楼 Chinajiyong 的回复:
string pattern = @"\\\\c\[\d{3},\d{3},\d{3}\]"
这个好像没有包含最后一个匹配项这个条件 判断最后一个匹配项怎么写
EnForGrass 2016-10-28
  • 打赏
  • 举报
回复
string pattern = @"\\\\c\[\d{3},\d{3},\d{3}\]"

111,092

社区成员

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

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

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