[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Есть ли ограничение в длине регулярного выражения?
SnowWind
Привет.

Вот исходник

# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.

.twitter.com TRUE / FALSE 1348662161 k 10.34.136.125.1348057361757001
.twitter.com TRUE / FALSE 1411172561 guest_id v1%3A134805736176021447
#HttpOnly_.twitter.com TRUE / TRUE 0 _twitter_sess BAh7DyIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo%250ASGFzaHsABjoKQHVzZWR7ADoPY3JlYXRlZF9hdGwrCGHtet45AToTcGFzc3dv%250AcmRfdG9rZW4iLTg3ZjM5Nzc4ZjJmZDVkN2Y5MzY0N2YzZjZiZWQ3ZGNhYjQ2%250AYzhkYzY6EHN0YXlfc2VjdXJlVDoMY3NyZl9pZCIlMGJkMzAxMmE3MTFlYWRi%250AZGQ2MmY5ZGE4N2E2OTQxMzI6G3Nlc3Npb25fcGFzc3dvcmRfdG9rZW4iLTg3%250AZjM5Nzc4ZjJmZDVkN2Y5MzY0N2YzZjZiZWQ3ZGNhYjQ2YzhkYzY6CXVzZXJp%250ABEK9QB46E3Nob3dfaGVscF9saW5rMDoVaW5fbmV3X3VzZXJfZmxvdzA6B2lk%250AIiViMDA4NTA5MTJiYzM0ZDAwMWJmNTVmN2MxNmYxYjg0Zg%253D%253D--1b30cdbe9c57824dc5b6195aa0104a59ab736b2c
#HttpOnly_.twitter.com TRUE / TRUE 0 auth_token 87f39778f2fd5d7f93647f3f6bed7dcab46c8dc6
.twitter.com TRUE / FALSE 0 auth_token_session true
.twitter.com TRUE / FALSE 0 secure_session true
.twitter.com TRUE / TRUE 0 twid u%3D507559234%7CG1QVV9b6lyeJU2tNtSxafZOvCNI%3D
.twitter.com TRUE / FALSE 1663633463 twll l%3D1348057463
.twitter.com TRUE / FALSE 1 dnt
.twitter.com TRUE / FALSE 1663633463 remember_checked 0
twitter.com FALSE / FALSE 0 lang ru
twitter.com FALSE / FALSE 1348149691 h %7B%22promoted_content%22%3A%7B%22social_context%22%3A%5B%5D%2C%22disclosure_text%22%3A%22%22%2C%22di sclosure_type%22%3A%22promoted%22%2C%22impression_id%22%3A%2271f0256369225cd2%22%7D%2C%22older_tweet_id%22%3A%22248391306248859648%22%2C%22newer_tweet_id%22%3A%22248391592317181953%22%2C%22tweet_id%22%3A%22247577948222275 584%22%7D

Нужно забрать все значения к строкам k, guest_id, _twitter_sess и др.

Написал такую вот строку

preg_match("/(?:\sk\s)(.*)(?:\s)(?:.*)(?:\sguest_id\s)(.*)(?:\s)(?:.*)(?:\s_twitter_sess\s)(.*)(?:\s)(?:.*)(?:\sauth_token\s)(.*)(?:\s)(?:.*)(?:\sauth_token_session\s)(.*)(?:\s)(?:.*)(?:\ssecure_session\s)(.*)(?:\s)(?:.*)(?:\stwid\s)(.*)(?:\s)(?:.*)(?:\stwll\s)(.*)(?:\s)(?:.*)(?:\sremember_checked\s)(.*)(?:\s)/", $cookie_read, $result);
print_r($result);


В вывод получаю --> Array()
И всё :huh:

Если написать

preg_match("/(?:\sk\s)(.*)(?:\s)(?:.*)(?:\sguest_id\s)(.*)(?:\s)(?:.*)(?:\s_twitter_sess\s)(.*)(?:\s)(?:.*)(?:\sauth_token\s)(.*)(?:\s)(?:.*)(?:\sauth_token_session\s)(.*)(?:\s)(?:.*)(?:\ssecure_session\s)(.*)(?:\s)(?:.*)(?:\stwid\s)(.*)(?:\s)(?:.*)(?:\stwll\s)(.*)(?:\s)/", $cookie_read, $result);

print_r($result);

preg_match("/(?:.*)(?:\sremember_checked\s)(.*)(?:\s)/", $cookie_read, $result2);
print_r($result2);


Получаю то, что хотел

Вопрос

Есть ограничение в длине паттерна?



Спустя 12 часов, 42 минуты, 46 секунд (22.09.2012 - 17:29) SnowWind написал(а):
huh.gif

Спустя 29 минут (22.09.2012 - 17:58) killer8080 написал(а):
$t = '.twitter.com TRUE / FALSE 1348662161 k 10.34.136.125.1348057361757001
.twitter.com TRUE / FALSE 1411172561 guest_id v1%3A134805736176021447
#HttpOnly_.twitter.com TRUE / TRUE 0 _twitter_sess BAh7DyIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo%250ASGFzaHsABjoKQHVzZWR7ADoPY3JlYXRlZF9hdGwrCGHtet45AToTcGFzc3dv%250AcmRfdG9rZW4iLTg3ZjM5Nzc4ZjJmZDVkN2Y5MzY0N2YzZjZiZWQ3ZGNhYjQ2%250AYzhkYzY6EHN0YXlfc2VjdXJlVDoMY3NyZl9pZCIlMGJkMzAxMmE3MTFlYWRi%250AZGQ2MmY5ZGE4N2E2OTQxMzI6G3Nlc3Npb25fcGFzc3dvcmRfdG9rZW4iLTg3%250AZjM5Nzc4ZjJmZDVkN2Y5MzY0N2YzZjZiZWQ3ZGNhYjQ2YzhkYzY6CXVzZXJp%250ABEK9QB46E3Nob3dfaGVscF9saW5rMDoVaW5fbmV3X3VzZXJfZmxvdzA6B2lk%250AIiViMDA4NTA5MTJiYzM0ZDAwMWJmNTVmN2MxNmYxYjg0Zg%253D%253D--1b30cdbe9c57824dc5b6195aa0104a59ab736b2c
#HttpOnly_.twitter.com TRUE / TRUE 0 auth_token 87f39778f2fd5d7f93647f3f6bed7dcab46c8dc6
.twitter.com TRUE / FALSE 0 auth_token_session true
.twitter.com TRUE / FALSE 0 secure_session true
.twitter.com TRUE / TRUE 0 twid u%3D507559234%7CG1QVV9b6lyeJU2tNtSxafZOvCNI%3D
.twitter.com TRUE / FALSE 1663633463 twll l%3D1348057463
.twitter.com TRUE / FALSE 1 dnt
.twitter.com TRUE / FALSE 1663633463 remember_checked 0
twitter.com FALSE / FALSE 0 lang ru
twitter.com FALSE / FALSE 1348149691 h %7B%22promoted_content%22%3A%7B%22social_context%22%3A%5B%5D%2C%22disclosure_text%22%3A%22%22%2C%22di sclosure_type%22%3A%22promoted%22%2C%22impression_id%22%3A%2271f0256369225cd2%22%7D%2C%22older_tweet_id%22%3A%22248391306248859648%22%2C%22newer_tweet_id%22%3A%22248391592317181953%22%2C%22tweet_id%22%3A%22247577948222275 584%22%7D'
;

preg_match_all('#\s(k|guest_id|_twitter_sess)\s+(\S+)#i', $t, $m);
echo '<pre>'.print_r($m, 1).'</pre>';

Спустя 12 часов, 8 минут, 23 секунды (23.09.2012 - 06:06) SnowWind написал(а):
Спасибо что показал пример, но почему мой пример не работает?

Точнее работает до 6 совпадений, а дальше перестаёт работать.

Спустя 5 часов, 27 минут, 57 секунд (23.09.2012 - 11:34) killer8080 написал(а):
SnowWind
в первом варианте попробуй добавить модификатор s
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.