regex - 如何从 Perl 字符串中提取不同数量的数字组?

标签 regex perl multiple-matches

我正在尝试用以下格式解析 Perl 中的字符串:

推送到订单簿队列的消息 123691 121574 146343 103046 161253

我想访问字符串末尾的数字,所以打算像这样进行匹配

/(\d+)/s

我的问题是末尾的值数量包含可变数量的字符串。

格式化正则表达式以便能够单独访问每个数字的最佳方法是什么?我是一名 C++ 开发人员,刚开始学习 Perl,因此我正在努力寻找最简洁的 Perl 方法来完成此任务。

感谢您的帮助。

最佳答案

只需使用/g 标志使匹配运算符执行全局匹配。在列表上下文中,匹配运算符将所有结果作为列表返回:

@result = $string =~ /(\d+)/g;

如果除尾随数字外没有其他数字,则此方法有效。

关于regex - 如何从 Perl 字符串中提取不同数量的数字组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/835398/

相关文章:

regex - 在 Rust 中将正则表达式捕获转换为 HashMap?

r - grep 和子集

perl - perl 和 sed 中的相同正则表达式工作方式不同

python - 存储 Python RegEx 多个组

elasticsearch - Elasticsearch未突出显示所有匹配项

python - 使用 setup.py 安装新的正则表达式模块

regex - 通过在 Swift 中使用正则表达式进行匹配来获取所有可能的范围

perl - 现在不再支持 $* 如何用替代方案替换 $*=1

perl - 如何通过用户按键来中断或恢复 Perl 循环?

r - 使用 dplyr contains() 根据多个字符串选择列