简体   繁体   English

RegEx在字符之间匹配

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM