Мне нужно регулярное выражение, которое будет сбрасывать ., идущее сразу после номера.
.
1. Something -> 1\. Something
1. Something
1\. Something
Это будет использоваться, чтобы избежать уценки, форматируя эту строку как упорядоченный список.
Я только что попробовал следующий код и работает в соответствии с вашим требованием
$re = '/([0-9]+)\s*(\.\s*)/m'; $str = '1. 2. 3. 1. text1 1.text 1 . test 1.next line'; $subst = ''; $result = preg_replace($re, $subst, $str); echo "The result of the substitution is ".$result;
любая цифра - \d любая цифра - + точка - \.
\d
+
\.
больше объяснений можно найти здесь и preg_replace документы
так что это может быть что-то подобное
<?php $string = '1. Something 2. Something 3.Something'; $pattern = '/(\d+)\./'; $replacement = '${1}\.'; echo preg_replace($pattern, $replacement, $string);