java - 如何使用正则表达式分割前面带有零的字符串?

标签 java regex split

如何分割字符串A000101A000 and 101 , 000101 as 000 and 101使用相同的正则表达式。

我尝试过类似的东西 "A000101".split("(?<=\\D)(?=\\d)|(?<=\\d)(?=\\D)&(?!=0)") 但输出是 A and 000101

编辑:

我可以得到 A00000来自A00000使用相同的逻辑?

最佳答案

对我来说,使用 Matcher 而不是 split 似乎更容易:

String str = "A000101";
Pattern p = Pattern.compile("([^1-9]*)([1-9]\\d*)");
Matcher m = p.matcher(str);
if (m.matches()) {
    String prec = m.group(1);
    String post = m.group(2);
}

关于java - 如何使用正则表达式分割前面带有零的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32199247/

相关文章:

java - 使用 gridbaglayout 按下按钮时无法添加 JLabels

java - 如何让 Discord Bot 等待特定用户使用 JDA 发送消息?

python - 如何从 txt 文件中的拆分行制作嵌套列表?

Java - 如何在字符串中的 "\\"或 "("前面添加 ")"

regex - 用perl分割一个带有多个空格的字符串?

java - 如何根据内部逻辑多次运行 testNG 测试?

java - 写入文件并每次追加

regex - 如何从绑定(bind)标量变量的文件输出中过滤特定行?

php - 正则表达式:必须以字母或数字开头,其余可以是任何内容

Java - 使用最小大小和分隔符拆分标记的正则表达式