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 предлагает чтение в регулярном выражении, чтобы соответствовать строке, которая не содержит слова?

Другие вопросы по тегам