2012-01-25 2 views
0

У меня есть URL-адрес, как это:Регулярное выражение помощь URL

http://www.domain.com/sponsor/xxxxx/reo/news 

Она должна в конечном итоге переписан на:

http://www.domain.com/reo/news?brokerId=xxxxx 

Я ужасно регулярными выражениями. Как я могу экстраполировать «xxxxxx» из исходного URL-адреса и преобразовать строку в конечный результат?

Мне не нужна большая помощь в создании конечного результата, это довольно тривиально, но если есть хороший, чистый способ сделать это с помощью RegEx и raw string, о которых было бы интересно узнать.

+0

Было ужасно в регулярном выражении ... пока я не нашел время, чтобы узнать, как они работают и практиковать их использование. Странно, да? – ChaosPandion

+1

Да, регулярные выражения включены в список с миллионами других технических навыков, которые я хотел бы улучшить, проведя время с моей женой, дочерью, другими моими увлечениями и моей второй работой. :) Я уверен, что моя жена поймет, когда я скажу, что ее регулярные выражения важнее. : P – Scott

+0

Вы рассматривали использование класса URI вместо регулярного выражения? http://msdn.microsoft.com/en-us/library/system.uri.aspx –

ответ

1

Используйте "http://([^/]+)/sponsor/([^/]+)/reo/news" как ваше регулярное выражение.

Использование и "http://$1/reo/news?brokerId=$2" в качестве вашей замены.

Я попробовал ваш пример на .NET Regex Tester, и он произвел желаемый результат.

+0

Я не получаю часть «http: // $ 1/reo/news? BrokerId = $ 2», эти доллары, может кто-нибудь, пожалуйста, представить пример кода Java? –

+1

Он использует замену для заполнителей $ 1 и $ 2 ($ 1 = domain, $ 2 = xxxxx). Это замещение было написано с учетом C#. –

+0

Ага, есть ли такая возможность для хранения на Java? –

Смежные вопросы