Articles of pcre

Справочное руководство и примеры ссылок Regex – Unicode

Я чувствую себя потерянным с помощью свойств Regex Unicode, представленных RegexBuddy, я не могу различить ни одно из свойств Number и свойство Math symbol, похоже, похоже, например, + но не – , * , / , ^ . Свойства Ungeode RegexBuddy http://img.ruphp.com/pcre/mbqw6w.png Есть ли какая-либо документация / ссылка с примерами на регулярные выражения Unicode-свойств?

phpinfo сообщает о некорректной версии pcre

Я потратил этот день, пытаясь понять странную проблему. У меня есть сайт WordPress, на котором запущена следующая ошибка: Warning: preg_replace() [function.preg-replace]: Compilation failed: unknown option bit(s) set at offset -1 in /path/to/public_html/wp-includes/shortcodes.php on line 257 Эта строка в wp-includes / shortcodes.php выглядит следующим образом: $text = preg_replace("/[\x{00a0}\x{200b}]+/u", " ", $text); Я нашел эту статью, которая, […]

Оператор Тильды в регулярных выражениях

Я хочу знать, что означает оператор тильды в регулярных выражениях. У меня есть это утверждение: if (!preg_match('~^\d{10}$~', $_POST['isbn'])) { $warnings[] = 'ISBN should be 10 digits'; } Я нашел этот документ, объясняющий, что означает тильда: ~ Он сказал, что =~ – это оператор perl, который означает запуск этой переменной против этого регулярного выражения. Но почему […]

Regex для соответствия ограничителей верхнего уровня в многомерной строке

У меня есть файл, который структурирован в большой многомерной структуре, похожей на json, но недостаточно закрытой для использования библиотеки json. Данные выглядят примерно так: alpha { beta { charlie; } delta; } echo; foxtrot { golf; hotel; } Регулярное выражение, которое я пытаюсь построить (для preg_match_all), должно совпадать с каждым родителем верхнего уровня (с разделителями […]

PHP ereg против preg

Я заметил, что в библиотеке регулярных выражений PHP есть выбор между ereg и preg. В чем разница? Бывает один быстрее, чем другой, и если да, то почему это не медленнее? Есть ли ситуации, когда лучше использовать один над другим?

Как совместить символы с акцентом с PHP preg?

Я хотел бы предоставить моим пользователям возможность не только заполнять буквы и цифры, но и «специальные» буквы, такие как «á», «é» и т. Д. Однако я не хочу, чтобы они могли использовать символы как «!», «@», «%» и т. д. Есть ли способ написать регулярное выражение для этого? (Предпочтительно без указания каждого специального письма.) Теперь […]

Как этот шаблон PCRE обнаруживает палиндромы?

Этот вопрос является образовательной демонстрацией использования lookahead, вложенной ссылки и условных выражений в шаблоне PCRE для соответствия всем палиндромам, включая те, которые не могут быть сопоставлены рекурсивным шаблоном, указанным на странице руководства PCRE. Изучите этот шаблон PCRE в PHP-фрагменте: $palindrome = '/(?x) ^ (?: (.) (?= .* ( \1 (?(2) \2 | ) ) $ […]

Как преобразовать выражения ereg в preg в PHP?

Поскольку регулярные выражения POSIX (ereg) устарели с PHP 5.3.0, я хотел бы знать простой способ преобразования старых выражений в PCRE (Perl Compatible Regular Expressions) (preg) . Например, у меня есть это регулярное выражение: eregi('^hello world'); Как преобразовать выражения в выражения, совместимые с preg_match ? Примечание. Этот пост служит заполнителем всех сообщений, связанных с преобразованием из […]

Как установить (UTF8) модификатор для RegEx маршрута RegEx в Zend Framework 2?

У меня возникают проблемы с (немецкими) специальными символами в URI и вы хотите попытаться разрешить его с помощью RegEx Route и модификатором шаблона PCRE для UTF-8 u . 'router' => array( 'routes' => array( // … 'city' => array( 'type' => 'regex', 'options' => array( 'regex' => '/catalog/(?<city>[a-zA-Z0-9_-äöüÄÖÜß]*)\/u', 'defaults' => array( 'controller' => 'Catalog\Controller\Catalog', 'action' […]

preg_match и UTF-8 в PHP

Я пытаюсь найти строку с кодировкой UTF8, используя preg_match . preg_match('/H/u', "\xC2\xA1Hola!", $a_matches, PREG_OFFSET_CAPTURE); echo $a_matches[0][1]; Это должно печатать 1, так как «H» имеет индекс 1 в строке «¡Hola!». Но он печатает 2. Поэтому кажется, что он не рассматривает тему как кодированную в UTF8 строку, хотя я передаю модификатор «u» в регулярном выражении. У меня […]