用于模式匹配的最终实例的正则表达式具有一系列值

时间:2015-10-14 15:51:49

标签: regex

我需要拆分一个包含字符的字符串,该字符串会被重复,但只会拆分最后的 3 个实例,并将 0 保留到那些<之前的任意数量的实例 3 角色的实例。

  

ex1:"Hi@@@@there"在正则表达式(和分割)之后"Hi@","there"

     

ex2:"Hi@@@there"在正则表达式(和分割)之后"Hi","there"

@{3}上的拆分无法提供我想要的结果:"Hi","@there"

修改
我稍微简化了我的问题;序列化和我正在使用的角色是不相关的。我只对正则表达式感兴趣,它会在y个重复字符列表的列表中找到最后一个 x 数字。 (@{3})(\w+)导致仅返回hi@,其余字符串将丢失。

1 个答案:

答案 0 :(得分:1)

这是在Javascript中完成的,但有效

"Hi@@@@there".split(/@@@(?=[^@])/);  // Output = > ["Hi@", "there"]
"Hi@@@there".split(/@@@(?=[^@])/);   // Output = > ["Hi", "there"]
// Tested on win7 with Chrome 45+
  

(?= [^ @]) ...预测最终/拆分器@后面是否有@@@