字符之间的正则表达式匹配

5

我正在尝试在Java中拆分一个字符串。拆分应该发生在两个字符之间,其中一个是字母(a-z,A-Z),另一个是数字(0-9)。例如:

String s = "abc123def456ghi789jkl";
String[] parts = s.split(regex);
System.out.println(Arrays.deepToString(parts));

输出应该是[abc, 123, def, 456, ghi, 789, jkl]。有人能帮我写一个匹配的正则表达式吗?
提前感谢!
1个回答

9

您可以使用前瞻和后顾结合的方式:查看说明

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接