⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 match_paren.m

📁 一个matlab的将军模型
💻 M
字号:
function tail = match_paren(str,open_paren_flag)

% Match pairs of parentheses in the given string.
%
% Syntax:
%   "match_param(str,0)" or "tail = match_paren(str,open_paren_flag)"
%
% Description:
%   Match pairs parentheses in the input string "str". The boolean flag
%   "open_paren_flag" is used in the recursion to indicate whether the
%   opening parenthesis has been found at the called level. If the matching
%   fails, the function issues an error message and stop the
%   execution. Otherwise, the function return the tail end of the string in
%   "tail" after the closing parenthesis is found. The matching then
%   continued on the tail end of the string at the caller level. The return
%   string "tail" and "open_paren_flag" should be used only by the
%   recursion. The user should call this funbction on a string with
%   "open_paren_flag = 0" and no output argument as shown in the first form
%   of the syntax.

idx = 1;
while idx <= length(str)
   ch = str(idx);
   % ONLY ONE of these should execute in each loop
   % (1) opening parenthesis
   if ch == '('
      str = match_paren(str(idx+1:length(str)),1);
      idx = 1;
   else
      % (2) closing parenthesis
      if ch == ')'
         if (open_paren_flag)
           tail = str(idx+1:length(str));
         else
           error('unmatched ")".')
         end
         return
      else
         % (3) otherwise, do nothing
         idx = idx + 1;
      end
   end
end

if open_paren_flag
   error('unmatched "(".')
else
   tail = '';
end
return

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -