[英]RegEx matching between characters
I'm trying to split a String in Java. 我正在尝试在Java中拆分String。 The splits should occur in between two characters one of which is an alphabetic one (az, AZ) and the other numeric (0-9).
分割应该出现在两个字符之间,其中一个字符是字母(az,AZ),另一个是数字(0-9)。 For example:
例如:
String s = "abc123def456ghi789jkl";
String[] parts = s.split(regex);
System.out.println(Arrays.deepToString(parts));
Output should be [abc, 123, def, 456, ghi, 789, jkl]
. 输出应为
[abc, 123, def, 456, ghi, 789, jkl]
。 Can someone help me out with a matching regular expression? 有人可以用匹配的正则表达式帮助我吗?
Thanks in advance! 提前致谢!
You can use a combination of look-ahead and look-behind : 您可以结合使用前瞻和后视 :
String s = "abc123def456ghi789jkl";
String regex = "(?<=\\d)(?=[a-z])|(?<=[a-z])(?=\\d)";
String[] parts = s.split(regex);
System.out.println(Arrays.deepToString(parts));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.