【问题标题】:Regex confusion [closed]正则表达式混淆[关闭]
【发布时间】:2012-10-04 06:08:21
【问题描述】:

为什么一个正则表达式对扫描和匹配方法的行为不同?

str = "A man, a plan, a canal -- Panama"

/\w+/.match(str).to_s #=> #<MatchData "A"> i.e. just "A"

str.scan(/\w+/)       #=> ["A", "man", "a", "plan", "a", "canal", "Panama"]

这些方法应该带来相同的结果,不是吗?

【问题讨论】:

  • 你没有展示任何研究成果

标签: ruby regex


【解决方案1】:

match 只会返回第一个匹配项,因为它就是这样做的,而scan 将返回所有匹配项。使用的正则表达式实际上完全相同。 See this.

【讨论】:

    猜你喜欢
    • 2023-03-08
    • 2018-07-05
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    相关资源
    最近更新 更多