我有一个伪代码方法,其工作原理如下:
def my_method(file)
while(line = file.gets)
case line
when /^TEXT (.*)/
puts line + <the text captured in the parenthesis of the regex>
else
.....
end
end
end
有没有办法做到这一点?
编辑:
示例字符串如下:
TEXT a sample text
我希望正则表达式捕获“示例文本”。我知道这不是正确的方法,但这只是一个演示,即“YYYY-MM-DD format date in shell script”来弄清楚如何以任何你想要的格式获取日期。
昨天的日期可以找到:
date -d '1 day ago' +'%Y/%m/%d'
来自“How To Get Yesterday’s Date using BASH Shell Scripting”。
将/
替换为-
或_
,然后将其传递给Ruby语句。
编辑:为另一个人投票。他们的答案实际上有代码。
答案 0 :(得分:4)
您要找的是puts "line#{$1}"
。伪全局$1
,$2
,$3
等指的是最后一个Regexp匹配的捕获组。 (并$~
指的是MatchData本身,如果您愿意使用它。)