【问题标题】:Match only beginning of line in Ruby regexp仅匹配 Ruby 正则表达式中的行首
【发布时间】:2010-01-21 03:21:18
【问题描述】:

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

我希望这个匹配:

"foo\nbar" =~ /^foo/

我希望这个不匹配

"bar\nfoo" =~ /^foo/

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

【问题讨论】:

    标签: ruby regex


    【解决方案1】:

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

    见:http://www.regular-expressions.info/ruby.html

    【讨论】:

      【解决方案2】:

      来自“Ruby 编程”

      '\A 
         Matches the beginning of the string. '
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-13
        • 1970-01-01
        相关资源
        最近更新 更多