我有一个字符串,我需要拆分某个角色.但是,当它的两侧是数字时,我只需要在其中一个字符上拆分字符串.字符串中的其他位置存在相同的字符,但两侧会有一个字母 - 至少在一侧.我试图使用split函数如下(使用"x"作为问题的字符):
my @array = split /\dx\d/, $string;
Run Code Online (Sandbox Code Playgroud)
但是,此功能会删除"x"和侧翼数字.如果可能,我想保留数字.有任何想法吗?
Mar*_*tos 13
使用零宽度断言:
my @array = split /(?<=\d)x(?=\d)/, $string;
Run Code Online (Sandbox Code Playgroud)
这将匹配x数字之前和之后的数字,但不会消耗数字本身.