假设我有以下地址数组
array = ["1 New Street, Filton Grove, Bristol BD7 0AA", "2 New Street, Filton Grove, Bristol BD7 0AA", "3 New Street, Filton Grove, Bristol BD7 0AA"]我想检查数组中的每一项是否都包含单词Filton Grove Bristol,但由于地址中有逗号,这有点让我大吃一惊。
如何忽略逗号并检查每个单词是否存在于数组的每次迭代中
到目前为止,我有这个
regexp = /^Filton Grove Bristol/i
array.all? { |a| regex =~ a }但这失败了。
发布于 2015-04-14 16:57:24
您可以单独检查单词。
regexp_checks = [/Filton/i, /Grove/i, /Bristol/i]
array.all? { |a| regexp_checks.all?{|rgx| a =~ rgx} }发布于 2015-04-14 16:59:10
你也可以通过这种方式签到..
regexp_checks = [/Filton.*?Grove.*?Bristol/i]
array.all? { |a| regexp_checks.all?{|rgx| a =~ rgx} }注意:仅当您想要保持单词的显示顺序时才使用此选项。如果顺序很重要,并且中间不允许有其他单词..您可以使用
regexp_checks = [/Filton\W+Grove\W+Bristol/i]
发布于 2015-04-14 17:00:09
尝试执行以下正则表达式
regexp = /Filton Grove,?\s*Bristol/i
您不需要在您的正则表达式中使用^。
https://stackoverflow.com/questions/29623061
复制相似问题