我正在使用的调查软件允许使用基于 Ruby 的 Regex 排除应在其上显示调查的站点(他们建议在rubular.com上测试字符串)。我不想将调查显示给即将完成交易的客户,因此排除 3 个短语对我来说比包含所有其他短语更有意义。
我将如何编写一个 ruby 正则表达式字符串,其中包含URL 中除了短语cart、order和login之外的所有内容?
我正在使用的调查软件允许使用基于 Ruby 的 Regex 排除应在其上显示调查的站点(他们建议在rubular.com上测试字符串)。我不想将调查显示给即将完成交易的客户,因此排除 3 个短语对我来说比包含所有其他短语更有意义。
我将如何编写一个 ruby 正则表达式字符串,其中包含URL 中除了短语cart、order和login之外的所有内容?
以下ruby 代码cart
拒绝数组中包含,order
或的所有字符串login
。
urls.reject { |url| url[/(cart|order|login)/] }
排除单词的原始正则表达式将使用否定环视:
^((?!login|order|cart).)*$
见红字。
有关更多信息,请参阅 @Max 在正则表达式中的建议阅读以匹配不包含单词的行?