2014-12-19 23 views
0

此处显示的代码正在处理单个模式值。但是现在我需要处理一系列模式。任何人都可以提出Pattern.compile(模式)的替代方案。因为它只处理一个值。这里的patternValue是一个从数据库填充的数组列表。如何使用java中的Pattern.compile处理一组模式列表

public static String processFuction(String input, String pattern, String replace) 
      throws Exception { 
     try { 
      Pattern p = Pattern.compile(pattern); 
      Matcher m = p.matcher(input); 
      input = m.replaceAll(replace); 
     } catch (Exception ex) { 
      logger.severe(ex.getMessage()); 
     } 
     return input; 
    } 

text = processFuction(text, patternValue,name[0]); 
+0

出了什么问题'Pattern.compile()'?为什么不循环编译'Pattern'实例列表?请澄清你的问题。 – vanza 2014-12-19 05:50:49

+0

你在寻找'String'的'matches'方法吗? – ajb 2014-12-19 06:00:10

回答

1

我认为在Java API中没有办法让你可以处理模式列表。
对你来说更好的方法是采取模式列表并相应地处理它。

EX:

public static String processFuction(String input, List<String> patternList, String replace) 
      throws Exception { 
    try { 
     for (String pattern : patternList){ 
      Pattern p = Pattern.compile(pattern); 
      Matcher m = p.matcher(input); 
      input = m.replaceAll(replace);// do your operation 
     } 
    } catch (Exception ex) { 
     logger.severe(ex.getMessage()); 
    } 
    return input; 
}