Articles of regex

регулярное выражение, не совпадающее из-за повторной группы захвата, а не захвата повторяющейся группы

У меня есть следующее regexp: /(?:[\[\{]*)(?:([AG\-][^AG\]\}]*)+)(?:[\]\}]*)/ со следующим выражением: {A''BsCb} Я ожидаю 3 согласованных результата A'' Bs Cb но тестирование на https://regex101.com/ дает мне последнее совпадение Cb и говорит мне, что группа повторного захвата будет захватывать только последнюю итерацию, помещая группу захвата вокруг повторяющейся группы. Я думал, это было то, что я сделал! Я думал, […]

.htaccess переписать URL для поддомена

У меня есть страница в поддомене domain.com/blog/landing-page/ . Я хочу открыть его как domain.com/ чтобы пользователь не знал, где находится моя страница. Я пытаюсь сделать код ниже, но это не работает для меня, RewriteEngine On RewriteCond %{THE_REQUEST} \s/+blog/landing-page[/\s] [NC] RewriteRule ^ / [R=301,L] Я написал это, но он открыл домен / блог RewriteCond %{THE_REQUEST} ^[AZ]{3,}\s/+blog/landing-page/([^\s]+) […]

В PHP, как бы я разделил строку, где начальный и конечный разделитель отличаются друг от друга

вступление В PHP, как бы я разделил строку с этим синтаксисом: <As's\\as'dsd> asqwedasd <sa sdasd> [a sadasd] [<asdsad> [as ddsd]] 'asdsad assd' в это? array(5) { [0]=> string(14) "<As's\\as'dsd>" [1]=> string(9) "asqwedasd" [2]=> string(10) "<sa sdasd>" [3]=> string(10) "[a sadasd]" [4]=> string(20) "[<asdsad> [as ddsd]]" [5]=> string(13) "'asdsad assd'" } Более подробное объяснение Теперь я […]

Необходима помощь начинающего PHP

Я уже некоторое время изучаю PHP, и мне нужно разъяснение. Я видел preg_match названную с различными разделительными символами, такими как: preg_match('/…/') а также preg_match('#…#') Сегодня я также видел % используемых. Мой вопрос состоит из двух частей: Какие все символы могут быть использованы? И есть ли стандарт?

Соответствие строк

Я хочу получить имена столбцов из запроса SQL CREATE. Запрос: CREATE TABLE 'test' ( 'col1' INT( 10 ) NOT NULL , 'col2' VARCHAR( 50 ) NOT NULL , 'col3' DATE NOT NULL ) ENGINE = MYISAM ; Код: preg_match_all("/'(.+)' (\w+)\(? ?(\d*) ?\)?/", $sql, $_matches, PREG_SET_ORDER); Вывод: Array ( [0] => Array ( [0] => 'col1\' […]

Регулярное выражение Получить адрес электронной почты с адреса электронной почты

У меня есть адрес электронной почты, который может быть равен $email = "x@example.com"; или $email="Johnny <x@example.com>" Я хочу получить $handle = "x"; для любой версии $ email. Как это можно сделать в PHP (при условии регулярного выражения). Я не так хорошо разбираюсь в регулярном выражении. заранее спасибо

Найти все переменные PHP с preg_match

Как найти все переменные PHP с preg_match . Я сделал следующее регулярное выражение: $string = 'Hallo $var. blabla $var, $iam a var $varvarvar gfg djf jdfgjh fd $variable'; $instring = array(); preg_match_all('/\$(.*?)/', $string, $instring); print_r($instring); Я просто не понимаю, как работают регулярные выражения.

Удалить символы мусора в utf

Я использую формат utf8 для хранения всех моих данных в mysql. Прежде чем данные будут вставлены в базу данных, мне нужно очистить строки ненужными символами. Строки находятся в формате utf8. Я знаю, как использовать regex и string replace, но не знаю, как работать с арабскими символами. Пример строки, которую необходимо очистить: «████ .. القوانين الجديدة […]

regex – строка preg_replace

Я хочу заменить не алфавитно-цифровые символы строки в космос. Я использовал $title= preg_replace("/[^a-zA-Z0-9\s]/", " ", $title); поэтому, когда пользователи вводят а!? d $ это будет abc d но заставлять пользователя вводить его в текстовый ввод, он переходит на «x.php? title = abc!? d $». Я хочу, чтобы он перешел к «x.php? title = abc + […]

Справка по регулярному выражению в PHP (8 шестнадцатеричных символов, за которыми следует символ подчеркивания)

Я хочу проверить, входит ли мой ввод, начиная с 8 шестнадцатеричных символов, за которыми следует знак подчеркивания, за которым следует любое количество чартеров с любым значением. В настоящее время я использую следующее регулярное выражение: preg_match('/^[0-9A-Fa-f]{8}_*/', $value); Но это выражение не удовлетворяет моих потребностей, потому что оно ведет себя следующим образом Результат: 1A345678 (true) 1A345678_add (true) […]