regex - 使用 Perl 拆分功能,但保留某些分隔符

标签 regex perl split

我有一个字符串,我需要在某个字符上拆分。但是,当字符串两侧是数字时,我只需要在其中一个字符上拆分字符串。字符串中的其他位置也存在相同的字符,但其两侧会出现一个字母——至少在一侧是这样。我尝试使用 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/

相关文章:

c# - 正则表达式拆分字符串但保留分隔符

c# - 我将使用什么正则表达式来删除第二个反斜杠后的所有内容?

perl - 使用 CGI 时如何在 perl 中获取 HTTP header

regex - nginx不区分大小写的url重定向

perl - XML::LibXSLT 无法在 Heroku 上安装

perl - perl 包是自动生成的吗?它们究竟是如何工作的?

java - 带空格的字符串解析

python - 获取列表中所有字符串的第一个单词

java - java中的模式匹配: extracting digits from a string literal

php - preg_match_all能匹配获取的最大字符串长度?