Articles of preg match all

php с использованием curl и preg_match_all

Я чувствую, что у меня что-то не хватает. Я использую следующий код, чтобы вытащить некоторые цифры из таблицы. Как ни странно, я не могу ничего напечатать. Я размещаю свой код и пример таблицы ниже. Пожалуйста, помогите мне найти мою ошибку. Я хочу, чтобы он распечатывал только числа в каждой ячейке. //gets the site $ch = […]

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

Я хочу получить все качество видео из строки. Моя строка: #EXTM3U #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=350000 128/prog_index.m3u8?key=49bfee85b05d117a2906368428094e94 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=750000 500/prog_index.m3u8?key=49bfee85b05d117a2906368428094e94 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1000000 750/prog_index.m3u8?key=49bfee85b05d117a2906368428094e94 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1250000 1000/prog_index.m3u8?key=49bfee85b05d117a2906368428094e94 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1750000 1500/prog_index.m3u8?key=49bfee85b05d117a2906368428094e94 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2750000 2500/prog_index.m3u8?key=49bfee85b05d117a2906368428094e94 И мой PHP-код: preg_match_all("/(.*?)\/prog_index.m3u8/mis", $serviceurlget, $C); print_r($C); Возвращает: Array ( [0] => Array ( [0] => #EXTM3U #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=350000 128/prog_index.m3u8 [1] => ?key=49bfee85b05d117a2906368428094e94 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=750000 500/prog_index.m3u8 [2] => ?key=49bfee85b05d117a2906368428094e94 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1000000 750/prog_index.m3u8 [3] => ?key=49bfee85b05d117a2906368428094e94 […]

Найти подстроки в строке, где подстрока, инкапсулированная определенным символом

У меня есть строка в формате: "The quick __grey__ fox jumps over the lazy __brown__ dog." И я хочу найти и заменить любые слова (или иногда предложения) между двойными подчеркиваниями. В настоящее время я использую preg_match_all в PHP: $pattern = '/__(.*)__/'; Это прекрасно работает … пока он не найдет два набора двойных подчеркиваний в одной […]

Regex с возможными пустым совпадением и многострочным совпадением

Я пытаюсь «разобрать» некоторые данные с помощью регулярного выражения, и я чувствую, как будто я рядом, но я просто не могу принести все это домой. Данные, требующие синтаксического анализа, обычно выглядят следующим образом: <param>: <value>\n . Количество параметров может меняться, как и значение. Тем не менее, вот пример: FooID: 123456 Имя: Чак Когда: 01/02/2013 01:23:45 […]

php preg_match_all числа в скобках

Я пытаюсь загрузить удаленный веб-сайт и получить все числа, которые находятся внутри круглых скобок. Но то, что заканчивается, это только соответствует последнему значению. Неправильно ли мое регулярное выражение? Я использую правильные флаги? Я добавил пример того, что он должен совместить во второй переменной $ html. //$html = file_get_contents("http://example.com/test.html"); $html = "(1234) (12) (1) \r\n (1346326)"; […]

regex, проблема с backreference в шаблоне с preg_match_all

Интересно, в чем проблема с backreference здесь: preg_match_all('/__\((\'|")([^\1]+)\1/', "__('match this') . 'not this'", $matches); он должен соответствовать строке между __ (''), но на самом деле он возвращает: match this') . 'not this есть идеи?

PHP REGEX preg_match_all каждую строку после определенной строки

Вот пример строки с моим регулярным выражением и кодом: $str = "Supp Fees: ———- Oral Glucose Glucagon OXYGEN"; $ptn = "/———-(?:\r\n(.+))+/m"; preg_match_all($ptn,$str,$matches); echo"<pre>"; print_r($matches); echo"</pre>"; Я пытаюсь сопоставить каждую строку после «———-» вышеприведенный шаблон возвращает только первую строку (Oral Glucose). Я могу повторить часть '\ r \ n (. +)' И вернуть другую строку, но […]

Preg_match_all возвращающий массив в массиве?

Я пытаюсь получить информацию из этого массива, но по какой-то причине он вложен все в $matches[0] . <? $file = shell_exec('pdf2txt.py docs/April.pdf'); preg_match_all('/…/',$file,&$matches); print_r($matches) ?> Это работает так, как предполагалось? Есть ли способ разместить это в массиве глубины 1? РЕДАКТИРОВАТЬ: Это RegEx: ([AZ][az]+\s){1,5}\s?[^a-zA-Z\d\s:,.\'\"]\s?[A-Za-z+\W]+\s[\d]{1,2}\s[AZ][az]+\s[\d]{4}

Что означает символ ~ ~ в регулярном выражении PHP?

Что означает символ «~» в следующем: preg_match_all("~<img [^>]+>~", $inputw, $output); Я предполагаю, что они начинаются и заканчивают маркеры, такие как ^ и $.

Ограничение PHP preg_match_all

Я использую preg_match_all для очень длинного шаблона. при запуске кода я получил эту ошибку: Предупреждение: preg_match_all (): Ошибка компиляции: регулярное выражение слишком велико при смещении 707830 После поиска я получил решение, поэтому я должен увеличить значение pcre.backtrack_limit и pcre.recursion_limit в php.ini Но после того, как я увеличил значение и перезапустил свой apache, у него все […]