RegExp - поиск в найденном. Не могу понять
Здравствуйте!
что-то не могу понять, как в регулярных выражениях описать поиск в найденном. Ну то есть имеется URL с GET-запросом, нужно найти (заменить) одну переменную. Можно, конечно, сделать в несколько действий. Но интереснее описать всё за 1 раз. Вот пишу что-то вроде: find_var = /(\?.*$)id=[\d]+\1/ То есть внутри URL сначала выделяю весь GET запрос, а потом пытаюсь найти в этом [найденном] запросе найти переменную ID. Что неправильно? |
Цитата:
зачем вы это вставили в свой регексп?! если случайно опечаталсиьь, то какого фига задаете вопрос на форуме не проверив свой код на опечатки? |
Не кипятись. :)
Видимо я что-то недопонял. В справочнике (http://javascript.ru/RegExp) написано по поводу знака доллара вот что: Код:
$ Обозначает конец входных данных. Что в этом неправильного?? ps - данные для обработки я получаю при помощи location.href |
Цитата:
я в курсе в отличии от вас, для чего знак доллара применяется я вас спраишвиваю что он делает в вашем выражении. или иными словами, скжите:что по повашемму сделает это выражение???? а ничего гноно не сщддаелат |
Цитата:
Цитата:
|
Млин мужики ну неужели так сложно ответить :( вы все профи, а я ламер, я понимаю, но всё же...
Кажется я как нельзя проще обозначил задачу - поиск в найденном, описанный в пределах одного выражения. можно ли так сделать? Пожалуйста, если можно, то напишите рабочий вариант - я действительно не могу врубиться, как правильно записать!!! ps алгоритм я себе представляю такой: 1. Найти часть URL от знака вопроса до конца строки. 2. В резульате предыдущего поиска найти искомое выражение (в моём случае это id=24). Я не могу понять, как использовать сивол (backslash)n--- Цитата:
|
В вашем случае:
<script type="text/javascript"> alert(window.location.search.replace(/\?id=(\w)/, '$1')); //выведет все что после "?id=" </script> Искусственный пример: <script type="text/javascript"> var str = window.location.search +'?id=Procter%20%26%20Gamble'; //в адресную строку искусственно добавлен параметр var reg = decodeURIComponent(str).replace(/[?&]id=(\d+)/, '$1'); //+декодируем полученные данные alert(reg) </script> |
Цитата:
|
Цитата:
1. Найти знак вопроса. 2. После знака вопроса пропустить любое количество символов до id= 3. Взять текст после id= /\?.*?id=(\d+)/Это применительно к гипотетической строке в вакууме. Применительно к url /[?&]id=(\d+)/ |
Ясно, спасибо всем за помощь
|
Часовой пояс GMT +3, время: 01:43. |