Java Caching String.split正则表达式

时间:2015-11-02 18:39:42

标签: java regex

我们可以通过正则表达式split一行:

String regex = "[\\p{P} ]+";
String[] split = line.split(regex);

但我想知道是否有办法将正则表达式缓存到Pattern

private static final Pattern PATTERN = Pattern.compile(regex);

然后split使用Pattern,就此而言:

String[] split = line.split(PATTERN);

3 个答案:

答案 0 :(得分:3)

当然,不是String.split,而是Pattern.split你可以:

String[] parts = PATTERN.split(line);
  

但我想知道是否有办法将正则表达式缓存到模式中:

你真正的意思是,用一个可以重复使用的编译的正则表达式分开。

答案 1 :(得分:2)

使用:

String[] split = PATTERN.split(line);

Pattern javadoc

答案 2 :(得分:1)

您可以使用:Pattern#split(String)这样的方法:

final Pattern p = Pattern.compile("[\\p{P} ]+");

然后使用它:

Strig[] arr = p.split(line);