Если вы действительно настроены на то, чтобы поиск по регулярным выражениям "сохранялся" в URL-адресах, я просто закодировал бы URL-адрес / декодировал URL-адрес строки поиска и покончил бы с этим.
Вы можете явно URl-кодировать строку поиска, а затем явно декодировать ее, когда они делают запрос.
Тем не менее, я настоятельно рекомендую вам задать строку поиска как URL параметр запроса , а не как часть самого URL. Особенно в вашем случае, когда это поиск, вам намного лучше иметь строку запроса в виде строки запроса, а не URL. Это помогает таким вещам, как SEO, REST-соответствие, поддержка URL и т. Д.
Наконец, есть другие способы, позволяющие пользователям также добавлять закладки в поиски. Если вы назначаете каждому поисковому запросу идентификатор и сохраняете фактический запрос в базе данных для этого конкретного идентификатора закладки, вы можете дать своим пользователям хорошие URL-адреса, такие как /states/search/bookmark/12345/
, которые являются чистыми, удобными для пользователя, легко добавляются в закладки, доступны для совместного использования и, что лучше всего, все, вы можете делать что-то с ними за кулисами, если вам нужно. Это отлично подходит для случаев, когда вам нужно обновить поиск или добавить больше мощности и т. Д.