May 18,2007:
May 18,2007:
There is a sample of exhaustive a char dictionary.
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.*;

public class Test...{
public static void main(String args[])...{
new Test();
}

String[] chars = ...{"a","b","c"}; //This string array is use to stored char dictionary.
String patternStr= "[a-z][a-z][a-z]"; //Defined regularexpression to match traverse/ergod result
String output = "";
Set set = new TreeSet(); //Set store distinct record into is reason for/why defined a tree set rather then array list.
Pattern pattern = Pattern.compile(patternStr);

public Test()...{
int j= chars.length;
search(0,chars,output);

for(Iterator it = set.iterator();it.hasNext();)...{
System.out.println(it.next());
}
}

public void search(int i,String[] chs,String output)...{
if(i==chars.length)...{
Matcher matcher = pattern.matcher(output);
if(matcher.matches())...{
set.add(output);
}
return;
}
for(int j =0; j<chars.length;j++)...{ //ergod the char dictionary
output = output+chs[j];
search(i+1,chs,output);
output = output.substring(0,output.length()-1);
search(i+1,chs,output);
}
}
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.*;

public class Test...{
public static void main(String args[])...{
new Test();
}

String[] chars = ...{"a","b","c"}; //This string array is use to stored char dictionary.
String patternStr= "[a-z][a-z][a-z]"; //Defined regularexpression to match traverse/ergod result
String output = "";
Set set = new TreeSet(); //Set store distinct record into is reason for/why defined a tree set rather then array list.
Pattern pattern = Pattern.compile(patternStr);

public Test()...{
int j= chars.length;
search(0,chars,output);

for(Iterator it = set.iterator();it.hasNext();)...{
System.out.println(it.next());
}
}

public void search(int i,String[] chs,String output)...{
if(i==chars.length)...{
Matcher matcher = pattern.matcher(output);
if(matcher.matches())...{
set.add(output);
}
return;
}
for(int j =0; j<chars.length;j++)...{ //ergod the char dictionary
output = output+chs[j];
search(i+1,chs,output);
output = output.substring(0,output.length()-1);
search(i+1,chs,output);
}
}
}
本文介绍了一个使用Java实现的字符遍历和正则表达式匹配示例。该示例通过递归的方式遍历字符组合,并利用正则表达式进行匹配,最终输出所有符合特定模式的字符串组合。此方法有助于理解如何高效地处理字符组合问题。
1985

被折叠的 条评论
为什么被折叠?



