Регулярка для любого символа - C#
Формулировка задачи:
как обозначить что может быть любой символ?
Решение задачи: «Регулярка для любого символа»
textual
Листинг программы
$str = '12 + 2.5 * (3 - 4 * (3 - 1) ) - sin( 0.1 * ( 8 - 7 ) ) + 5 * (6 ^ 2 + 7) + sin(0)'; $result = array(); f($str, $result); print_r($result); function f($str, &$r) { preg_replace_callback( '@ ( \d+(?:\.\d+)? | [-+*^] | (?:sin|cos) | \( ([^()]+ | (?1) )*+ \) ) @x', function ($m) use(&$r) { if (isset($m[2])) { // если найдено выражение в скобках // отрезаем скобки и парсим снова $a = array(); f(substr($m[0], 1, -1), $a); $r[] = $a; } else { // если найден обычный элемент // просто добавляем его к результату $r[] = $m[0]; } }, $str); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д