首页
社区
课程
招聘
[旧帖] 一段正则表达式写法,匹配 "[:]",想请教下大家 0.00雪花
发表于: 2014-3-12 13:44 2726

[旧帖] 一段正则表达式写法,匹配 "[:]",想请教下大家 0.00雪花

2014-3-12 13:44
2726
工作过程中遇到要匹配
[str1:str2] 这样的字符,
写出正则 \[.+:.+\]
测试字符串:
[wegwwegw:w]  erhwhwg       [wegewrklkl:jkj]  [1:2]
结果:
[wegwwegw:w]  erhwhwg       [wegewrklkl:jkj]  [1:2]
''下划线字符是被匹配出的字符。
发现结果如上,我想要匹配所有单一的[:]类型字符串,而不是外围的一个。
怎样才能匹配出这样的字符串?:
[wegwwegw:w]  erhwhwg       [wegewrklkl:jkj]  [1:2]
也就是排除[]中再包含[] 符号的字符串,怎么写这个正则表达式?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
解决了
\[(.*?):(.*?)\]
2014-3-12 14:21
0
雪    币: 48
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
正则表达式的限定符如( * + {n,m} )匹配时,默认按最长可以匹配,即遇到限定符匹配就尽量"吞下"符合的字符,不符合匹配就吐一个出来,直到符合或没有可吐出来。
在限定符后加?,表明该限定符采用非贪心匹配,即遇到限定符匹配就尽量少"吞下"字符

故\[.+?:.+?\]
2014-7-1 17:03
0
游客
登录 | 注册 方可回帖
返回
//