我有一个字符串,我需要在某个字符上拆分。但是,当字符串两侧是数字时,我只需要在其中一个字符上拆分字符串。字符串中的其他位置也存在相同的字符,但其两侧会出现一个字母——至少在一侧是这样。我尝试使用 split 函数如下(使用“x”作为相关字符):
my @array = split /\dx\d/, $string;
但是,此功能会删除“x”和侧翼数字。如果可能,我想保留数字。有任何想法吗?
最佳答案
使用零宽度断言:
my @array = split /(?<=\d)x(?=\d)/, $string;
这将匹配前面和后面是数字的
x
,但不消耗数字本身。
关于regex - 使用 Perl 拆分功能,但保留某些分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3237274/