Ruby Regex: отклонение выбранных URL
Программное обеспечение для опросов, которое я использую, позволяет исключить сайты, на которых следует показывать опрос, используя Regex на основе Ruby (они рекомендуют тестировать строки на http://rubular.com/). Я не хочу показывать опрос клиентам, которые близки к завершению транзакции, поэтому исключение трех фраз имеет для меня больший смысл, чем включение всех остальных.
Как бы я подошел к написанию строки регулярного выражения ruby, которая включает в себя все, кроме фразы корзина, порядок и логин в URL?
1 ответ
Следующий код ruby отклоняет все строки в массиве, содержащем cart
, order
или же login
,
urls.reject { |url| url[/(cart|order|login)/] }
Необработанное регулярное выражение, которое исключает слова, будет использовать отрицательные осмотры:
^((?!login|order|cart).)*$
Смотри рубуляр.
Для получения дополнительной информации, см. @Max предлагает чтение в регулярном выражении, чтобы соответствовать строке, которая не содержит слова?