ruby - 多个匹配项的公共(public)前缀

标签 ruby regex

假设我有以下测试字符串:

I want to match:
  123
  456

我想使用正则表达式来捕获 123456

我正在尝试这个:

I want to match:(?:\n\s\s(\d*))*

但它只捕获最后一组。有什么想法吗?

最佳答案

I want to match:\K|\G(?!^)(?:\n\s\s(\d+))

您可以使用 \G 作为正则表达式引擎只记住最后一组。查看演示。

https://regex101.com/r/pG1kU1/13

关于ruby - 多个匹配项的公共(public)前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30592297/

相关文章:

java - 如何使用 Java 中的正则表达式从一个字符串中查找多个子字符串?

css - 使用 capybara 检查 CSS 是否已更新

ruby-on-rails - 如何只解析 CSV 文件的第一行?

ruby - Ruby Sinatra ActiveRecord 中的基本搜索

mysql - ActiveRecord 回滚多个事务

python - url 调度程序使用正则表达式检测所有内容或不检测任何内容

javascript - 如何以 json 或其他格式存储 javascript 混合数组/对象并保留结构?

python - 在标签中查找字符串而不在 python 中找到标签

ruby - 创建 ActiveRecord 模型时出现问题 : data missing from save

json - 使用 regexextract 解析 JSON