仅匹配Ruby regexp中的行首

时间:2010-01-20 19:16:09

标签: ruby regex

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

我想要匹配:

"foo\nbar" =~ /^foo/

我希望这不匹配

"bar\nfoo" =~ /^foo/

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

2 个答案:

答案 0 :(得分:12)

  

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

请参阅:http://www.regular-expressions.info/ruby.html

答案 1 :(得分:1)

来自“编程Ruby”

'\A 
   Matches the beginning of the string. '