我需要拆分一个包含字符的字符串,该字符串会被重复,但只会拆分最后的 3 个实例,并将 0 保留到那些<之前的任意数量的实例 3 角色的实例。
ex1:
"Hi@@@@there"
在正则表达式(和分割)之后"Hi@","there"
ex2:
"Hi@@@there"
在正则表达式(和分割)之后"Hi","there"
@{3}
上的拆分无法提供我想要的结果:"Hi","@there"
修改
我稍微简化了我的问题;序列化和我正在使用的角色是不相关的。我只对正则表达式感兴趣,它会在y个重复字符列表的列表中找到最后一个 x 数字。 (@{3})(\w+)
导致仅返回hi@
,其余字符串将丢失。
答案 0 :(得分:1)
这是在Javascript中完成的,但有效
"Hi@@@@there".split(/@@@(?=[^@])/); // Output = > ["Hi@", "there"]
"Hi@@@there".split(/@@@(?=[^@])/); // Output = > ["Hi", "there"]
// Tested on win7 with Chrome 45+
(?= [^ @]) ...预测最终/拆分器
@
后面是否有@@@