我正在閱讀Peter Cooper的書「Beginning Ruby」,我對一些字符串方法和正則表達式的使用有一些疑問。我想我很清楚正則表達式是什麼:「描述匹配其他字符串中元素的模式的字符串」。Ruby正則表達式和括號。括號做什麼?
所以:
"This is a test".scan(/\w\w/) {|x| puts x}
Output:
Th
is
is
te
st
=> "This is a test"
- 所以在一次打印兩個字符。我沒有意識到它也會返回原始字符串。爲什麼是這樣?
此外,
"This is a test".scan(/[aeiou]/) { |x| puts x }
- 什麼括號做什麼?我認爲他們被稱爲人物類,但我不確定他們做了什麼。 Cooper書中的解釋並不完全冗長和清晰。
字符類的說明:
「你需要在這個階段,瞭解正則表達式的最後一個重要的方面是 字符類這允許你來匹配特定的字符集爲。例如,您可以掃描字符串中的所有元音:「
字符類匹配單個字符,如果字符類包含的字符。例如。 '[aeiou]'將匹配'a','e','i','o'或者'u'中的任何一個。所以第二個命令的輸出應該是「我」,「我」,「一個」,「e」。 – 2014-10-03 21:12:22
http://ruby-doc.org/core-2.1.3/Regexp.html – 2014-10-03 21:13:11
你會想看看這個:http://rubular.com/在快速參考部分甚至有字符類的例子。 – orde 2014-10-03 21:53:31