![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Serebrus |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 333 Регистрация: 22.5.2007 Где: Ташкент Репутация: нет Всего: нет |
Привет знатоки.
Как вы? Возникла проблема: Compilation failed: lookbehind assertion is not fixed length at offset при извлечении doc.444 подобной информации из текста: Identifier = doc.444 Code = 0 с помощю (?<=Identifier\s+=\s?)\w+\.\d+(?<!\s+Code) RegexBuddy беспроблем находит, а вот через браузер ни как. Поискал в инете, прочитал что: Утверждения касательно предшествующего текста начинаются с (?<= для положительных утверждений и (?<! для отрицающих. Например, (?<!foo)bar не найдёт вхождения "bar", которым не предшествует "foo". Сами утверждения 'назад' ограничены так, чтобы все подстроки, которым они соответствуют, имели фиксированную длину. Но, в случае, если используются несколько альтернатив, они не обязаны иметь одинаковую длину. Таким образом шаблон (?<=bullock|donkey) корректен, но (?<!dogs?|cats?) вызовет ошибку во время компиляции. но не смог исправить ошибку Это сообщение отредактировал(а) Serebrus - 24.6.2011, 20:28 |
|||
|
||||
| Wolf1994 |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 7 Всего: 29 |
Ошибка в модификаторе неопределённости длины:
Без него код не должен вызывать эту ошибку:
Если вопрос о подходящем выражении для получения "doc.444", то попробуйте такую регулярку:
"\s?" заменён на "[ ]*". |
||||||
|
|||||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |