regex - 在perl中使用正则表达式拆分字符串

标签 regex perl split

我有一个这样形式的字符串:

$str = "30M1I20M150N20M190N50M"

已编辑:我想拆分这个字符串,以便我的输出看起来像这样:

30M1I20M
150N
20M
190N
50M

但是,当我尝试使用时,

@split_str = split(/(\d+)N/, $str);

我得到:

30M1I20M
150
20M
190
50M

如您所见,结果中省略了 N(150、190 而不是 150N 和 190N)。谁能告诉我应该怎么做?谢谢!

最佳答案

将 N 放在捕获组中。

/(\d+N)/

关于regex - 在perl中使用正则表达式拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8286155/

相关文章:

javascript - 如何替换 RegEx 中 "a b"内除空格以外的所有空格?

perl - Carp/Croak、Cluck/Confess 和详细选项之间有什么区别?

perl - Moose - 从 Num 强制转换为 ArrayRef[Num]?

linux - cpan 安装开关失败

python - 拆分文件中的列表

regex - 多次出现捕获组的 sed 正则表达式

c# - 如何防止非英文字符并允许非字母字符

r - 分割特定元素的向量,但将连续元素视为一个

java - 如何在第一个位置 (0) 之后正确分割该字符串,以便读取 0 之后的一个或多个字符?

PHP preg_replace 单词但如果单词前面有某些字符则不会