如何从这个字符串中提取单词!!一个**“两个**@@三个”;在Ruby中使用正则表达式
在IRB中,我可以这样做:如何从这个字符串中提取单词!!一个**“两个**@@三个”;在Ruby中使用正则表达式,ruby,regex,Ruby,Regex,在IRB中,我可以这样做: c=/(\b\w+\b)\w*(\b\w+\b)\w*(\b\w+\b)\w*/.match(“!!一***二*@@三@”)匹配 得到这个: =>匹配数据“一***二*@@三@@@1:“一”二:“二”三:“三” 但是假设我事先不知道单词的数量,我怎么还能从字符串中提取出所有单词呢”。例如,它可能是“!!”!!一个***两个*@@三个@“在一个实例中,但可能是”!!在另一个例子中是“五***六*” 谢谢 > " !!one** *two* @@three@@ ".
c=/(\b\w+\b)\w*(\b\w+\b)\w*(\b\w+\b)\w*/.match(“!!一***二*@@三@”)匹配 得到这个:
=>匹配数据“一***二*@@三@@@1:“一”二:“二”三:“三” 但是假设我事先不知道单词的数量,我怎么还能从字符串中提取出所有单词呢”。例如,它可能是“!!”!!一个***两个*@@三个@“在一个实例中,但可能是”!!在另一个例子中是“五***六*” 谢谢
> " !!one** *two* @@three@@ ".scan(/\w+/)
=> ["one", "two", "three"]
另外,scan
可以在使用()
的情况下返回数组数组
另外,scan
可以在使用()
的情况下返回数组数组
> "Our fifty users left 500 posts this month.".scan(/([a-z]+|\d+)\s+(posts|users)/i)
=> [["fifty", "users"], ["500", "posts"]]