java括号匹配算法

发布时间:2016-12-8 4:20:25 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"java括号匹配算法",主要涉及到java括号匹配算法方面的内容,对于java括号匹配算法感兴趣的同学可以参考一下。

java括号匹配算法 import java.util.Vector; class Stack{  private int cursor=0;  private int[] stackBody=new int[99];    Stack(){   cursor=0;   for(int i=0;i<99;i++)    stackBody[i]=-1;  }  public int getValue(){   return stackBody[cursor];  }  public void push(int value){   cursor++;   stackBody[cursor]=value;  }  public void pop(){   stackBody[cursor]=-1;   cursor--;     } } public class Test {         private int left[]=new int[99];  private int right[]=new int[99];  private int counter=0;  private Vector subReg=new Vector();  private int pos=0;  private int sublastIndex=0;                  public void getSubreg(String str){    Stack temp=new Stack();    while(pos<str.length()){     if(pos==0){      if(str.charAt(pos)=='('){       left[counter++]=pos;       temp.push(pos);      }     }     if((pos>0)&&(str.charAt(pos-1)!='//')){      if(str.charAt(pos)=='('){       left[counter++]=pos;       temp.push(pos);      }      else if(str.charAt(pos)==')'){       for(int i=0;i<99;i++){        if(left[i]==temp.getValue()){         right[i]=pos;            break;        }       }       temp.pop();      }     }     pos++;    }       for(int i=0;i<counter;i++)      subReg.addElement(str.substring(left[i]+1, right[i]));    System.out.println("result:"+subReg); }       public static void main(String []args){      Test test=new Test();      test.getSubreg("(z)((a+)?(b+)?(c))*");           } } 显示顺序非运算顺序,是正则表达式子式的顺序o(∩_∩)o...

上一篇:To 薛洪
下一篇:MyEclipse连接SQL Server 2008数据库的操作方法

相关文章

相关评论