在正则表达式匹配中不要包含一些字符

时间:2017-03-24 10:05:44

标签: ruby regex

在ruby中,我有一个字符串

# ---
# title: hello
# subtitle: hello again
# author: me
# ---
Content

从哪里我想获得两个被捕获的小组:

  • title: hello\n subtitle: hello again\n author: me
  • Content

我一直在尝试使用正面的前瞻(?=pat)和正面的后瞻(?<=pat),以及递归\g<name>,但运气不错。

我知道我可以regexp + gsub,但是,如果可能的话,我想一步到位。

我认为这是不可能的,但我想在尝试其他事情之前确定。

提前致谢

1 个答案:

答案 0 :(得分:0)

是否可以使用正则表达式扫描功能加入结果?
例如:

string = "# ---
          # title: hello
          # subtitle: hello again
          # author: me
          # ---"  

string.scan(/# (.*): (.*)/).map{|e| e.join(': ')}.join('\n ')
# => title: hello\n subtitle: hello again\n author: me