将内容与文件中的正则表达式匹配?

nev*_*ame 2 ruby regex

我想使用正则表达式查看文本是否已经在文件中。

# file.txt
Hi my name is Foo
and I live in Bar
and I have three children.
Run Code Online (Sandbox Code Playgroud)

我想看看文字是否:

Hi my name is Foo
and I live in Bar
Run Code Online (Sandbox Code Playgroud)

在这个文件中。

如何将它与正则表达式匹配?

Nul*_*ion 5

如果您想支持变量而不是“Foo”和“Bar”,请使用:

/Hi my name is (\w+)\s*and I live in (\w+)/
Run Code Online (Sandbox Code Playgroud)

正如在rubular 上看到的那样

这也会将“Foo”和“Bar”(或包含的任何字符串)放入您以后可以使用的捕获组中。

str = IO.read('file1.txt')    
match = str.match(/Hi my name is (\w+)\s*and I live in (\w+)/)

puts match[1] + ' lives in ' + match[2]
Run Code Online (Sandbox Code Playgroud)

将打印:

Foo住在酒吧