ruby 正则表达式 : ^ matches start of line even without m modifier?

标签 ruby regex

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/

相关文章:

ruby-on-rails - 在任何来源中都找不到 sshkit-1.1.0

Ruby JSON gem 安装错误 : Ruby 2. 4.1,JSON 1.8.6 (Windows 10)

ruby - 重构嵌套的救援语句

regex - 使用正则表达式查找名称

mysql - 从 Redshift 上的字符串中排除字母字符

regex - 删除第一行或/(正则表达式)之后的内容

c# - 阿拉伯语问题 将 أً 替换为 ا

ruby - 在 Capybara 中,:exact or Capybara. 是否完全适用于 have_selector?

ruby - 是否有与 car、cdr 和 cons 等效的 ruby​​?

javascript - 替换字符串的第 1 到第 n 个匹配项。 javascript