ruby 1.8.7。我正在使用带有 ^ 的正则表达式来匹配字符串开头的模式。问题是,如果在字符串中任何行 的开头找到模式,它仍然匹配。如果我使用“m”修饰符但我没有使用,这是我期望的行为:
$ irb
irb(main):001:0> str = "hello\ngoodbye"
=> "hello\ngoodbye"
irb(main):002:0> puts str
hello
goodbye
=> nil
irb(main):004:0> str =~ /^goodbye/
=> 6
我在这里做错了什么?
最佳答案
- 行首:^
- 行尾:$
- 字符串的开头:\A
- 字符串结尾:\z
关于 ruby 正则表达式 : ^ matches start of line even without m modifier?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4257071/