2013-10-03 61 views
0

我有这个字符串正则表达式需要匹配

s = [notneedtext#neededtext, notneedtext#neededtext, ...] 

我应该使用什么正则表达式来保持所需要的纯文本的每个元素(不#)和削减不需要的部分?

+0

''''也可以在'neededtext'里面吗? –

+0

我在()中提到它。 Nope#不应该在里面@SotiriosDelimanolis – user2598911

+0

我的意思是可以有两个或更多'#'字符? –

回答

1

假设neededtext不包含逗号,你需要的是

(?<=#)([^,]*)(?=(,|\])) 
  • 第一部分(?<=#)要求所需要的文本由#
  • 中间部分([^,]*)之前捕获的零序或逗号以外的其他字符
  • 最后一部分(?=(,|\]))要求序列以逗号或方括号结尾。
+0

我认为|是无效的,因为它显示错误@dasblinkenlight – user2598911

+0

是@dasblinkenlight – user2598911

+0

@ user2598911它完美的工作,[这里是一个演示链接](http://ideone.com/ShmT4V)。 – dasblinkenlight