Я пытаюсь построить регулярное выражение, которое заменит любые символы не формата:Regex заменить десятичных знаков
любое количество цифр, то по желанию (одна десятичная точка, любое число цифр)
i.e.
123 // 123
123.123 // 123.123
123.123.123a // 123.123123
123a.123 // 123.123
Я использую ereg_replace в PHP и ближе к рабочему регулярному выражению мне удалось это
ereg_replace("[^.0-9]+", "", $data);
который почти то, что мне нужно (кроме него позволит любое количество знаков после запятой)
i.e.
123.123.123a // 123.123.123
моя следующая попытка была
ereg_replace("[^0-9]+([^.]?[^0-9]+)?", "", $data);
which was meant to translate as
[^0-9]+ // any number of digits, followed by
( // start of optional segment
[^.]? // decimal point (0 or 1 times) followed by
[^0-9]+ // any number of digits
) // end of optional segment
? // optional segment to occur 0 or 1 times
, но это только кажется, чтобы любое количество цифр и ничего больше.
Пожалуйста, помогите
Благодарности
ereg_ * функции устарели. вместо этого используйте preg_ *. –