【发布时间】:2010-01-21 03:21:18
【问题描述】:
我有一个字符串变量,其中有多个换行符,我想测试字符串的开头是否与正则表达式匹配。但是,当我使用 ^ 字符时,它会匹配以每个换行符开头的文本。
我希望这个匹配:
"foo\nbar" =~ /^foo/
我希望这个不匹配
"bar\nfoo" =~ /^foo/
我找不到使^(或任何其他)字符仅匹配字符串开头的修饰符。非常感谢任何帮助。
【问题讨论】:
我有一个字符串变量,其中有多个换行符,我想测试字符串的开头是否与正则表达式匹配。但是,当我使用 ^ 字符时,它会匹配以每个换行符开头的文本。
我希望这个匹配:
"foo\nbar" =~ /^foo/
我希望这个不匹配
"bar\nfoo" =~ /^foo/
我找不到使^(或任何其他)字符仅匹配字符串开头的修饰符。非常感谢任何帮助。
【问题讨论】:
在 Ruby 中,插入符号和美元总是在换行符之前和之后匹配。 Ruby 没有修改器来改变它。使用 \A 和 \Z 匹配字符串的开头或结尾。
【讨论】:
来自“Ruby 编程”
'\A
Matches the beginning of the string. '
【讨论】: