我有一个字符串变量,其中有多个换行符,我想测试字符串的开头是否与正则表达式匹配。但是,当我使用^
字符时,它会匹配从每个换行符开始的文本。
我想要匹配:
"foo\nbar" =~ /^foo/
我希望这不匹配
"bar\nfoo" =~ /^foo/
我找不到使^
(或任何其他)字符仅匹配字符串开头的修饰符。非常感谢任何帮助。
答案 0 :(得分:12)
在Ruby中,插入符号和美元总是在换行符之前和之后匹配。 Ruby没有修饰符来改变它。使用\ A和\ Z匹配字符串的开头或结尾。
答案 1 :(得分:1)
来自“编程Ruby”
'\A
Matches the beginning of the string. '