Ruby-匹配字符串中的所有模式

Ruby-匹配字符串中的所有模式,ruby,regex,string,Ruby,Regex,String,需要帮助匹配字符串中的所有模式 s1 = " countries like US, Japan, Korea, Vietnam, Germany" s2 = " countries like Holland, China, Korea, Thailand, UK" 从上面的字符串需要匹配特定的亚洲国家 regex = /(Japan)|(Korea)|(Vietnam)|(Cambodia)|(China)|(Thailand)/ irb(main):157:0> s1.match(

需要帮助匹配字符串中的所有模式

s1 = " countries like US, Japan, Korea, Vietnam, Germany"
s2 = " countries like Holland, China, Korea, Thailand, UK"
从上面的字符串需要匹配特定的亚洲国家

regex = /(Japan)|(Korea)|(Vietnam)|(Cambodia)|(China)|(Thailand)/


irb(main):157:0> s1.match(regex)
=> #<MatchData "Japan" 1:"Japan" 2:nil 3:nil 4:nil>
使用:

使用:


你的问题不清楚。是否要将连续出现的此类国家/地区作为单个字符串进行匹配,还是要在整个字符串中匹配此类国家/地区的任何实例?是否要根据上述示例字符串输出进行匹配。这是一个字符串中的所有事件。您的问题不清楚。是否要将连续出现的此类国家/地区作为单个字符串进行匹配,还是要在整个字符串中匹配此类国家/地区的任何实例?是否要根据上述示例字符串输出进行匹配。这是字符串中出现的所有情况。这可能是正确答案,也可能不是正确答案。OP对此并不清楚。这是OP的错。@sawa复选标记似乎确实消除了歧义。这可能是正确的答案,也可能不是。OP对此并不清楚。“这是OP的错。”sawa说,虽然复选标记似乎消除了歧义。
s1.some_regex_operation # => Japan, Korea, Vietnam
s2.some_regex_operation # => China, Korea, Thailand
s1 = " countries like US, Japan, Korea, Vietnam, Germany"
s2 = " countries like Holland, China, Korea, Thailand, UK"
s1.scan(/Japan|Korea|Vietnam|Cambodia|China|Thailand/)
# => ["Japan", "Korea", "Vietnam"]
s2.scan(/Japan|Korea|Vietnam|Cambodia|China|Thailand/)
# => ["China", "Korea", "Thailand"]