Java 正则表达式未按预期工作

标签 java regex

我正在使用 java 正则表达式将我的字符串拆分为每个 2 个字符的子字符串。我正在使用以下代码。

import java.util.*;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class HelloWorld{

    public static void main(String []args)
    {
        String str = "admins";
        String delimiters = "([a-z]{2})";

        String[] tokensVal = str.split(delimiters);

        System.out.println("Count of tokens = " + tokensVal.length);
        System.out.println(Arrays.toString(tokensVal));
    }
}

但是运行下面的代码会将 count 的值打印为零并打印一个空数组。

最佳答案

import java.util.*;
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class ApachePOI{
     public static void main(String []args) {
         String str = "admins";
         String delimiters = "(?<=\\G.{2})";

         String[] tokensVal = str.split(delimiters);


         System.out.println("Count of tokens = " + tokensVal.length);
         System.out.println(Arrays.toString(tokensVal));
     }
}

输出:

Count of tokens = 3
[ad, mi, ns]

关于Java 正则表达式未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21696986/

相关文章:

java - 比较两个不同映射的键值

c# - 将字节数组转换为字符串然后用正则表达式解析是个坏主意吗?

javascript - IFSC 代码的正则表达式(前四个字母,然后是 7 位数字。)

javascript - 将 RegExp 转换回字符串

java - 如何在Gradle中排除可传递jar依赖关系?

java - 从 CDI Proxy 获取真实对象

java - 用户验证密码检查数据库

java - 如何为正则表达式组绑定(bind) +/* ?

javascript - 使用正则表达式进行搜索/替换

java - Intent 错误 (Android)