java - 空格前第一个字符的正则表达式

标签 java regex

我正在尝试使用下面的代码在java中使用正则表达式从下面的字符串中提取“d320” n-我们; micromax d320 构建/kot49h)

    String m = "n-us; micromax d320 build/kot49h) ";
    String pattern = "micromax (.*)(\\d\\D)(.*) ";
    Pattern r = Pattern.compile(pattern);
    Matcher m1 = r.matcher(m);
    if (m1.find()) {
        System.out.println(m1.group(1));


    }

但它给我的输出为“d320 build/kot4”,我只想要 d320

最佳答案

尝试像这样使用 micromax\\s(.*?)\\s:

     String m = "n-us; micromax d320 build/kot49h) ";
    String pattern = "micromax\\s(.*?)\\s";
    Pattern r = Pattern.compile(pattern);
    Matcher m1 = r.matcher(m);
    if (m1.find()) {
        System.out.println(m1.group(1));

    }

输出:

  d320

关于java - 空格前第一个字符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35402414/

相关文章:

java - 如何在不同的包中导入两个同名的类?

java - 如何从 HttpURLConnection POST 获取响应

java - 如何在 jformattedtextfield 中仅添加 double 值

c++ - 奇怪的正则表达式机器与测试仪不同

regex - 如何在 Jenssegers raw() 函数中正确应用正则表达式

正则表达式在一行的特定列中查找数据

ruby 正则表达式 : Match Until First Occurance of Character

java - 制定 JPA 标准 'in' 表达式

java - Android - 如何使适配器布局保持原位

java - java中的正则表达式尝试匹配特定格式的字符串(格式由 | sysbol 组成)