|
|
|
| Здравствуйте. Помогите пожалуйста, нужно найти в строке по таким условиям:
подряд идут еденицы 4 раза при условиях;
Слева и справа от них граница строки, либо 0 либо 2 либо 5. | |
|
|
|
|
|
|
|
для: pazha
(31.07.2012 в 18:35)
| | Примеры строк? | |
|
|
|
|
|
|
|
для: Deed
(31.07.2012 в 18:50)
| | 033330
033332
033335
233330
233335
33335
3333n - помняет, если n = 0, 2, или 5.
...
вот в таких строках поменять тройки на четверки. | |
|
|
|
|
|
|
|
для: pazha
(31.07.2012 в 18:54)
| |
<?
$str="033335";
$new_str=preg_replace("/(?<=0|2|5)\d{4}(?=0|2|5)/","4444",$str)
?>
|
| |
|
|
|
|
|
|
|
для: Deed
(31.07.2012 в 19:50)
| | Спасибо, это именно то что я хотел ) Вы настоящий регулярщик! | |
|
|
|
|
|
|
|
для: Deed
(31.07.2012 в 19:50)
| | Такое решение также поменяет строку "01234543210" на "04444544440".
Это именно то что нужно? | |
|
|
|
|
|
|
|
для: Sfinks
(01.08.2012 в 10:10)
| | Нет, но я уже заменил \d на нужное число :-) | |
|
|
|
|
|
|
|
для: Sfinks
(01.08.2012 в 10:10)
| | В его проблеме нет строк вида "01234543210".
Но проблема интересная, и вот ее решение: (?<=0|2|5)(\d)\1{3}(?=0|2|5)
То есть, ищем четыре одинаковые цифры подряд. | |
|
|
|
|
|
|
|
для: Deed
(01.08.2012 в 12:35)
| | Спасибо, это именно то что я хотел! | |
|
|
|