Articles of pcre

regex (в PHP), чтобы соответствовать &, которые не являются объектами HTML

Вот цель: заменить все автономные амперсанды на & amp; но НЕ заменяют те, которые уже являются частью HTML-объекта, такого как & nbsp ;. Я думаю, мне нужно регулярное выражение для PHP (желательно для preg_ functions), которое будет соответствовать только автономным амперсандам. Я просто не знаю, как это сделать с preg_replace.

Сопоставьте a ^ nb ^ nc ^ n (например, «aaabbbccc») с использованием регулярных выражений (PCRE)

Хорошо известно, что современные реализации регулярных выражений (в первую очередь PCRE) имеют мало общего с оригинальным понятием регулярных грамматик . Например, вы можете разобрать классический пример контекстно-свободной грамматики {a n b n ; n> 0} (например, aaabbb ) с использованием этого регулярного выражения ( demo ): ~^(a(?1)?b)$~ Мой вопрос: как далеко вы можете пойти? Можно […]

ereg_replace для preg_replace?

Как я могу конвертировать ereg_replace(".*\.(.*)$","\\1",$imgfile); в preg_replace… ? ? У меня проблемы с этим?

Соответствие границе слова php regex в utf-8

У меня есть php-код в файле utf-8 php: var_dump(setlocale(LC_CTYPE, 'de_DE.utf8', 'German_Germany.utf-8', 'de_DE', 'german')); var_dump(mb_internal_encoding()); var_dump(mb_internal_encoding('utf-8')); var_dump(mb_internal_encoding()); var_dump(mb_regex_encoding()); var_dump(mb_regex_encoding('utf-8')); var_dump(mb_regex_encoding()); var_dump(preg_replace('/\bweiß\b/iu', 'weiss', 'weißbier')); Я хотел бы, чтобы последнее регулярное выражение заменяло только полные слова, а не части слов. На моем компьютере с Windows он возвращает: string 'German_Germany.1252' (length=19) string 'ISO-8859-1' (length=10) boolean true string 'UTF-8' (length=5) […]

Будет ли когда-либо соответствовать ударным символам в PREG / PCRE?

Я уже знаю, что \w в PCRE (в частности, реализация PHP) иногда может совпадать с некоторыми символами, отличными от ASCII, в зависимости от языка системы, но как насчет [az] ? Я бы так не подумал, но я заметил эти строки в одном из основных файлов Drupal (включая / theme.inc, упрощенный): // To avoid illegal characters […]

Дополнительная обратная косая черта, необходимая для PHP регулярного выражения

При тестировании ответа на вопрос другого пользователя я нашел то, что я не понимаю. Проблема заключалась в том, чтобы заменить все литералы \t \n \r из строки одним пространством. Теперь, первый образец, который я пробовал, был: /(?:\\[trn])+/ что на удивление не сработало. Я пробовал такую ​​же модель в Perl, и она работала нормально. После некоторых […]

UTF-8 символов в preg_match_all (PHP)

У меня есть preg_match_all('/[aäeëioöuáéíóú]/u', $in, $out, PREG_OFFSET_CAPTURE); Если $in = 'hëllo' $out : array(1) { [0]=> array(2) { [0]=> array(2) { [0]=> string(2) "ë" [1]=> int(1) } [1]=> array(2) { [0]=> string(1) "o" [1]=> int(5) } } } Позиция o должна быть 4. Я читал об этой проблеме в Интернете («считается, что она равна 2»). […]

Какие буквальные символы следует избегать в регулярном выражении?

Я просто написал регулярное выражение для использования с php-функцией preg_match которая содержит следующую часть: [\w-.] Чтобы соответствовать любому символу слова, а также знаку минуса и точке. Хотя он работает в preg_match, я попытался включить его в утилиту Reggy, и он жалуется на «Empty range in char class» . Судебное разбирательство и ошибка научили меня, что […]

Получить строку между двумя строками

Моя строка: «reply-234-private», я хочу получить номер после «reply-» и до «-private», это «234». Я попытался с помощью следующего кода, но он возвращает пустой результат: $string = 'reply-234-private'; $display = preg_replace('/reply-(.*?)-private/','',$string); echo $display;

Как изменить eregi PHP на preg_match

Возможный дубликат: Как преобразовать выражения ereg в preg в PHP? Мне нужна помощь, ниже – небольшое ОЧЕНЬ основное регулярное выражение, чтобы несколько проверить электронную почту, я действительно понимаю, что это не работает, но для моих нужд это нормально. В настоящее время он использует функцию eregi PHP, которую php.net говорит, теперь является амортизируемой функцией, и вместо […]