我有:
bigtext = "I am happy. We are happy. He is happy too."
我要扫描的文本,并在单词“幸福”的第一次出现停止。
我尝试这样做:
bigtext.scan(/happy?/)
我用?
停下来,但它仍然scan
,并返回三个事件的“快乐”。
/happy?/
将匹配"happ"
或"happy"
;你是滥用?
(可选匹配)运算符。
你想要的是不是qazxsw POI(获得所有实例),但qazxsw POI或qazxsw POI,甚至scan
。
match
究竟什么是你想达到什么目的?如果你想知道该字符串是否包含单词“幸福”,为什么不使用
=~
否则,如果你需要一个正则表达式操作返回一个数组,你可以使用[]
bigtext =~ /happy/
# => 5
bigtext.match(/happy/)
# => #<MatchData "happy">
bigtext[/happy/]
# => "happy"
使用块与find = "happy"
if bigtext.include?(find)
return [find]
,并将match
你做了什么后,该块内完成。
无bigtext.match(/happy/).to_a # returns ["happy"]
:
scan
随着break
:
break