我正在探索正则表达式的力量,所以我只是想知道这样的事情是否可能:
public class StringSplit {
public static void main(String args[]) {
System.out.println(
java.util.Arrays.deepToString(
"12345".split(INSERT_REGEX_HERE)
)
); // prints "[12, 23, 34, 45]"
}
}
如果可能的话,然后简单地提供正则表达式(并先发制人地解释它是如何工作的)。
如果它只能在 Java 以外的某些正则表达式中实现,那么也可以随意提供。
如果不可能,请解释原因。
奖金问题
同样的问题,但使用find()
循环而不是split
:
Matcher m = Pattern.compile(BONUS_REGEX).matcher("12345");
while (m.find()) {
System.out.println(m.group());
} // prints "12", "23", "34", "45"
请注意,并不是我有一个具体的任务来完成一种或另一种方式,而是我想理解正则表达式。我不需要做我想做的代码;我想要正则表达式,如果它们存在的话,我可以在上面的代码中使用它来完成任务(或者其他风格的正则表达式,可以将代码“直接翻译”成另一种语言)。
如果它们不存在,我想要一个很好的可靠解释为什么。