|
|
|
|
|
для: BinLaden
(14.07.2008 в 22:09)
| | Спасибо!
В принципе, можно и без регулярных выражений, главное, чтобы работало :)
С регулярными -- интересно чисто теоретически | |
|
|
|
|
|
|
|
для: Anatoly_ua
(14.07.2008 в 19:00)
| | Средставами механизма регулярных выражений - не могу сказать. Могу предложить альтернативу:
<?php
$exp = '1(2(3)4)5(6)';
$nesting_level = 0;
$arr = array('');
$k = 0;
for($i = 0; $i < strlen($exp); $i++)
{
if( $exp[$i] == '(' && $nesting_level++ == 0 )
{
$arr[++$k] = '';
continue;
}
else if( $exp[$i] == ')' && --$nesting_level == 0 )
{
if( $i + 1 < strlen($exp) ) $arr[++$k] = '';
continue;
}
$arr[$k] .= $exp[$i];
}
print_r($arr);
?>
|
| |
|
|
|
|
|
|
| Возможно ли средствами regexp сделать примерно так.
Есть выражение, например:
1(2(3)4)5(6)
можно ли получить массив вида:
т.е. "порезать" только по скобкам первого уровня, а "внутренние" оставить без изменения? | |
|
|
|
|