RegEx在字符之间匹配

hie*_*ppe 5 java regex

我正在尝试在Java中拆分String.分割应该出现在两个字符之间,其中一个字符是字母(az,AZ),另一个是数字(0-9).例如:

String s = "abc123def456ghi789jkl";
String[] parts = s.split(regex);
System.out.println(Arrays.deepToString(parts));
Run Code Online (Sandbox Code Playgroud)

输出应该是[abc, 123, def, 456, ghi, 789, jkl].有人可以用匹配的正则表达式帮助我吗?

提前致谢!

Kep*_*pil 9

您可以结合使用前瞻和后视:

String s = "abc123def456ghi789jkl";
String regex = "(?<=\\d)(?=[a-z])|(?<=[a-z])(?=\\d)";
String[] parts = s.split(regex);
System.out.println(Arrays.deepToString(parts));
Run Code Online (Sandbox Code Playgroud)