String words="我|问*题|haha|他的";//正则
String reg="要是有问题就说啊";//输入的字符串
怎么样做可以返回"问*题"?

解决方案 »

  1.   

    就是对reg和words两个字符串进行匹配检查,如输入的字符串=“我在这里”,那么就根据words的表达式,就返回“我”;
    我的问题是:当输入“我的问dskj题”时,怎么返回“问*题”?
      

  2.   

    使用的是http://jakarta.apache.org/regexp/index.html中的正则表达式包。
    源程序如下:
    package test.csdn;import java.util.*;
    import org.apache.regexp.*;public class Tools {
    public static void main(String [] args) {
    String inputStr = "要是有问题就说啊";
    String patternStr = "我|问*题|haha|他的";
    List result = Tools.applyPattern(patternStr, inputStr);

    for(int i = 0; i < result.size(); i++) {
    System.out.println((String) result.get(i));
    }
    }

    public static List applyPattern(String patternStr, String inputStr) {
    RE r = new RE(patternStr);
    String [] strArray = patternStr.split("\\|");
    ArrayList list = new ArrayList();

    for(int i = 0; i < strArray.length; i++) {
    RE re = new RE(strArray[i]);
    if(re.match(inputStr)) {
    list.add(strArray[i]);
    }
    }

    return list;
    }
    }