|
|
|
| Как записать такое условие?
Найти A, встречающеся только где-то между B и C.
Например, найти выделенное:
__A___B__A__AC__A_B__A_C__
Ну, и, грубо говоря, заменить на D:
__A___B__D__DC__A_B__D_C__
Вроде просто должно быть, но не получается... | |
|
|
|
|
|
|
|
для: kvecxjo
(16.12.2005 в 13:48)
| | У меня элегантно не получилось... только так
<?php
$text = "Как записать такое условие?
Найти A, встречающеся только где-то между B и C.
Например, найти выделенное:
__A___B__A__AC__A_B__A_C__
Ну, и, грубо говоря, заменить на D:";
$pattern = "|([bc][^bc]*)([a])([^bc]*[bc])|is";
$text = preg_replace($pattern,"\\1D\\3",$text);
$text = preg_replace($pattern,"\\1D\\3",$text);
$text = preg_replace($pattern,"\\1D\\3",$text);
echo $text."<br>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(17.12.2005 в 00:19)
| | Блин... Сорри, может задачу я несевсем корректно описал... Что, если A,B и C не одиночные символы, а их последовательности? | |
|
|
|
|
|
|
|
для: kvecxjo
(17.12.2005 в 07:43)
| | Тогда хуже... надо наверное жадностью играть... | |
|
|
|