Кто-нибудь может объяснить эту функцию .ASP или VB "Regex.Replace", чтобы я мог сделать это на PHP? - PullRequest
0 голосов
/ 17 января 2009

Следующий код Visual Basic, .NET, ASP ... все вышеперечисленное? Кто-нибудь может сказать мне, что эти две функции / методы "Regex.Replace" оставят мне, когда "strCookies" равен блоку текста ниже двух функций Regex.Replace? Я считаю, что идея состоит в том, чтобы просто захватить код "sessionid", а затем код "cadata" с заголовком / ключом "sessionid" и "cadata" или без него. В конечном счете, я пытаюсь сделать все равно в php ... проблема в том, что я пытаюсь сделать вывод, что мне нужно на самом деле точно в конце, на основе этого кода. Надеюсь, что это имеет смысл. Спасибо! (Я также хотел добавить, что для кода «cadata» меня особенно смущает вопрос о том, должен ли я собирать двойные кавычки, окружающие весь код. Идентификатор сессии не имеет и двойных кавычек, поэтому он менее запутан Я не могу сказать, что делает функция Regex.Replace).


Dim strCADataCookie As String = Regex.Replace (strCookies, "(. ) sessionid = (. ) (, |;) (. *)", "$ 2")

Dim strSessionIDCookie As String = Regex.Replace (strCookies, "(. ) cadata =" "(. )" "(. *)", "$ 2")


Файл cookie HTTP Netscape http://www.netscape.com/newsref/std/cookie_spec.html Этот файл был сгенерирован libcurl! Редактировать на свой страх и риск.

a.test.edu FALSE / FALSE 0 sessionid ca391d4e-69ad-4726-b00c-efa26f3d1594

a.test.edu FALSE / TRUE 0 cadata "2YUj33BRih9xeQqCL1PLAY + 0EExSdDkGJdQg7KoUbca6OQxrgJi0AuuPBOEhCu7wlG2 + 2in5ilEE ="

Ответы [ 2 ]

1 голос
/ 17 января 2009

Regex.Replace(strCookies, "(.)sessionid=(.)(,|;)(.*)", "$2")

Возвращает значение файла cookie с именем sessionid.

Regex.Replace(strCookies, "(.)cadata=""(.)""(.*)", "$2")

Возвращает значение файла cookie с именем cadata после его удаления из кавычек. Таким образом, полученная строка будет храниться без кавычек.

0 голосов
/ 17 января 2009

Я запускаю код, который вы показали в своем вопросе, и для данного примера strCookie результат strCookie для strCADataCookie и strSessionIDCookie. Причина в том, что замена не производится, поскольку шаблон не соответствует в strCookie.

Вы можете прочитать информацию о регулярных выражениях здесь: http://www.regular -expressions.info / reference.html

Регулярные выражения из вашего примера немного странные. Все, что будет соответствовать любому шаблону, будет заменено одним символом. $ 2 - относится к значению второго выражения в скобках. "" - означает ", первый" - это просто escape-символ.

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...