Ruby_Koan:正则表达式中的数字作为参数?

aDe*_*Dev 0 ruby regex

对于以下功能:[/(\w+), (\w+)/, 1]整体意味着什么 .(我假设逗号在这里没有特殊含义)./(\w+), (\w+)/,再次匹配单词,逗号,单词和逗号."1"如何将返回的结果分开?什么赋予1特殊意义所以它不再是文字?

   def test_parentheses_also_capture_matched_content_by_number
     assert_equal "Gray", "Gray, James"[/(\w+), (\w+)/, 1]
     assert_equal "James", "Gray, James"[/(\w+), (\w+)/, 2]
   end

   def test_variables_can_also_be_used_to_access_captures
     assert_equal "Gray, James", "Name:  Gray, James"[/(\w+), (\w+)/]
     assert_equal "Gray", $1
     assert_equal "James", $2
   end
Run Code Online (Sandbox Code Playgroud)

正则表达式如何将字符串转换为数组?

Ser*_*sev 5

你正在看这个String#[]的变种:

 str[regexp, capture] ? new_str or nil
Run Code Online (Sandbox Code Playgroud)

如果提供了Regexp,则返回字符串的匹配部分.如果a capture遵循正则表达式(可能是捕获组索引或名称),则遵循正则表达式,而不是返回MatchData的组件.

此正则表达式具有多个匹配组/捕获.第二个参数指定要返回的捕获.而已.

  • 我不知道可选的第二个参数.很高兴知道. (2认同)