(?!<p.*?</p>)
поменять на (?!\s*<!-- /wp:paragraph -->\s*<!-- wp:paragraph -->)
preg_match('#^.*\K<p.*?</p>#s', $str, $match);
([\w\-.]+)
([\w-]+\.?(?:[\w-]+|\.(?!html?$))*)
([\w-]+\.?[\w.-]*?)(?:\.html?$|$)
$str = preg_replace_callback(
'#(<p[^>]*>)(.*?)(</p>)#si',
function ($m) {
return $m[1].str_replace('public', 'dolbi', $m[2]).$m[3];
},
$str
);
$str = preg_replace(
'#(?i:</p>|^).*?(?i:<p[^>]*>|$)(*SKIP)(*F)|<[^>]+>(*SKIP)(*F)|public#s',
'dolbi',
$str
);
(...)(@anybody)(...)
, а в строке замены ссылаться на них $1, $3.(\s\p{Punct}*)(@anybody)(\p{Punct}*\s)
$1text$3
(?<=...)
lookahead (?=...)
(?<=\s|\p{Punct})@anybody(?=\p{Punct}|\s)
text
$str = preg_replace('#<a[^>]+href="https?://site\.ru/catalog/razdel/[^>]+>(.*?)</a>#si', '$1', $str);
re.sub(r'(\d+\.\d+\.\d+)|\.', r'\1', "по состоянию на 1862 год . 17.02.2000")
(?=;)
.*?;
использовать [^;]*
(.*?);
<zpb-phone number="+7 (999) 999-99-99" module="Contacts"
(?s).*?(?:\z|<zpb-phone number="([^"]+))
$1\n
Не работает регистронезависимость (флаг i) в регулярном выражении после переноса на новый хостинг. Кодировка windows-1251.
setlocale(LC_CTYPE, 'ru_RU.CP1251');