Articles of preg match

Получите больше обратных ссылок из регулярного выражения, чем скобки

Ок, это действительно сложно объяснить на английском, поэтому я просто приведу пример. Я буду иметь строки в следующем формате: key-value;key1-value;key2-… и мне нужно извлечь данные как массив array('key'=>'value','key1'=>'value1', … ) Я планировал использовать regexp для достижения (большей части) этой функциональности и написал это регулярное выражение: /^(\w+)-([^-;]+)(?:;(\w+)-([^-;]+))*;?$/ для работы с preg_match и этим кодом: for ($l […]

Regex найти ссылку Youtube в строке

У меня есть строка вроде этого: Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, https://www.youtube.com/watch?v=7TL02DA5MZM when an unknown printer took a galley of type and scrambled it to make a type Это то, что у меня есть: preg_match("(?:http://)?(?:www.)?(?:youtube.com|youtu.be)/(?:watch\?)?([^\s]+?)", […]

preg_match возвращает одинаковые элементы только один раз

Я прохожу через строку и обрабатывает все элементы между! – и – !. Но только уникальными элементами являются процессы. Когда у меня есть! – пример …! и еще немного в тексте! – example– !, второй – игнорируется. Это код: while ($do = preg_match("/!–(.*?)–!/", $formtext, $matches)){ Я знаю о preg_match_all, но нужно сделать это с помощью […]

php: как найти числа в строке?

У меня есть несколько строк: some words 1-25 to some words 26-50 more words 1-10 words text and words 30-100 как я могу найти и получить из строки все «1-25» и «26-50» и более

preg_match имя пользователя regex validation позволяет> и <несмотря на то, что эти символы не являются белыми

У меня есть это относительно простое регулярное выражение для имен пользователей // Enforce that username has to be 3-100 characters, alphanumeric, and first character a letter. // Possibility without begin/end characters and i: [az][a-z0-9@.+-_]{2,100} // Allow for simple email usernames in the future… return !!preg_match('#^[a-zA-Z][a-zA-Z0-9@.+-_]{2,100}$#', trim($username)); Который, к сожалению, позволяет эти тестовые строки, готовые к […]

регулярное выражение для обнаружения чисел, написанных как слова – вход UTF-8

спасибо за ответы: «регулярное выражение для обнаружения чисел, написанных как слова»: регулярное выражение для обнаружения чисел, написанных как слова У меня теперь есть эта работа, однако у меня есть одно и то же требование, но числа в виде слов на арабском (или любом другом UTF-8), а не на английском, поэтому: if (preg_match("/\p{L}\b(?:(?:واحد|اثنان|ثلاثة|أربعة|خمسة|ستة|سبعة|ثمانية|تسعة|صفر|عشرة)\b\s*?){4}/", $str, $matches) > […]

Согласование множественного появления одного и того же символа с preg_match

как я могу найти множественное появление одного и того же символа? что-то вроде: $maxRepeat = 3; "pool" passes "poool" don't Мне нужно, чтобы это работало для любого персонажа, поэтому я думаю, мне придется избегать специальных символов. а также \ какими персонажами я должен бежать? Знаете ли вы какую-либо хорошую ссылку на preg_match regexp, кроме одной […]

PHP Regex соответствует последнему вхождению строки

Моя строка: $text1 = 'A373R12345' Я хочу найти последнее отсутствие цифрового номера этой строки. Поэтому я использую это регулярное выражение ^(.*)[^0-9]([^-]*) Тогда я получил этот результат: 1.A373 2,12345 Но мой ожидаемый результат: 1.A373R (Он имеет «R») 2,12345 Другим примером является $text1 = 'A373R+12345' Тогда я получил этот результат: 1.A373R 2,12345 Но мой ожидаемый результат: 1.A373R […]

Регулярное выражение для соответствия неограниченному числу параметров

Я хочу иметь возможность анализировать пути файлов, подобные этому: /var/www/index.(htm|html|php|shtml) в упорядоченный массив: array("htm", "html", "php", "shtml") а затем составить список альтернатив: /var/www/index.htm /var/www/index.html /var/www/index.php /var/www/index.shtml Прямо сейчас у меня есть инструкция preg_match которая может разделить две альтернативы: preg_match_all ("/\(([^)]*)\|([^)]*)\)/", $path_resource, $matches); Может ли кто-нибудь дать мне указатель, как продлить это, чтобы принять неограниченное количество […]

Как получить кратчайшее, а не максимально возможное совпадение регулярных выражений с preg_match ()

У меня есть строка, подобная этой: {{something1}} something2 {{something3}} something4 Как я могу сопоставить только «something1» с помощью функции preg_match() ? Я пытался: preg_match("/\{\{(.*)\}\}/si",$content,$matches); но это соответствовало слишком много, возвращаясь something1}} something2 {{something3 Я попробовал добавить \b к шаблону, но не получил то, что хочу этого. Не могли бы вы мне помочь?