正则问题:
/正则问题,例如(xx|xxx)xx|xxxx,输出正则表达式能接收的最大的字符串长度是多少/
package com.lanqiao2017;
import java.util.Scanner;
/*正则问题,例如(xx|xxx)xx|xxxx,输出正则表达式能接收的最大的字符串长度是多少*/
public class zhengze {
static char[]a;
static int pos=0;
static int len;
public static int f() {
int tmp=0;
int m=0;
while(pos<len){
if(a[pos]=='(') {
pos++;
tmp+=f();
}else if(a[pos]=='x') {
pos++;
tmp++;
}else if(a[pos]=='|') {
pos++;
m=Math.max(m, tmp);
tmp=0;
}else if(a[pos]==')') {
pos++;
m=Math.max(m,tmp);
return m;
}
}
m=Math.max(m, tmp);
return m;
}
public static void main(String arg[]) {
Scanner sc=new Scanner(System.in);
String line=sc.nextLine();
a=line.toCharArray();
len=a.length;
System.out.println(f());
}
}