仅匹配Ruby regexp中的行首

我有一个字符串变量,其中有多个换行符,我想测试字符串的开头是否与正则表达式匹配。 但是,当我使用^字符时,它会匹配从每个换行符开始的文本。

我希望这匹配:

 "foo\nbar" =~ /^foo/ 

我希望这不匹配

 "bar\nfoo" =~ /^foo/ 

我找不到一个修饰符,使^ (或任何其他)字符只匹配字符串的开头。 任何帮助非常感谢。

在Ruby中,插入符号和美元总是在换行符之前和之后匹配。 Ruby没有修饰符来改变它。 使用\ A和\ Z匹配字符串的开头或结尾。

见: http : //www.regular-expressions.info/ruby.html

来自“Ruby编程”

 '\A Matches the beginning of the string. '