求个简单的正则表达式

runerback 2016-08-22 10:58:22
如下字符串:
引用
13:19:3663563:1832:220:F:6:17560:0:24:ACK / 10::(T)?: I2'

开头第一个冒号前的数字要取出来,即
(?<num>\d+).*

然后剩下的就是每个冒号后面的内容,空的比如“:::”也要取到。
不仅有数字字母空格以及上面出现的几个符号,可能会有其它特殊符号出现。
用Split很容易实现,但我想知道正则表达式如何实现,还有就是多个匹配到的内容能否使用同一个组名。
...全文
83 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
runerback 2016-08-22
  • 打赏
  • 举报
回复
我想这么写,但是不知道怎么改
^(?<num>\d+)(?<column>[^:]*)+$
runerback 2016-08-22
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
(?:^|:)([^:]*)
没想到这么复杂.. 后面的能看懂,前面的第一个?和^|:是怎么回事啊?
xuzuning 2016-08-22
  • 打赏
  • 举报
回复
runerback 2016-08-22
  • 打赏
  • 举报
回复
看来是不能之区别开头那个
引用
((?<columns>.*?)('|:|$))

110,538

社区成员

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

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

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