Java 正则表达式匹配组为空,即使它匹配

标签 java regex

假设我得到了这一行:

|125148 Schalter f GLE GÜ 90/80Z nei PL 80 16AJ

并且想要匹配以下两部分:

  • 125148
  • Schalter f GLE GÜ 90/80Z nei PL 80

16AJ 可以用作“断点”,因此从数字后面的第一个字母到“断点”的任何内容都应该在组中匹配。

我以某种方式使用这个正则表达式 ^\|([0-9])+(.)+(?=\s+16AJ) 但我的第一组包含 8 个字符,我的第二组什么也不包含。

查看此demo

我在这里错过了什么?为什么我的第二组是空的?

最佳答案

^\|([0-9])+(.+)(?=\s+16AJ)

             ^^

您需要将量词放入捕获组中。

关于Java 正则表达式匹配组为空,即使它匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31808839/

相关文章:

Java:将文件模式转换为正则表达式模式

regex - 在 VBA 中使用 RegEx 将 d/m/yy 格式化为 yyyy-mm-dd 字符串

html - 正则表达式删除字符串末尾的 HTML 换行符

regex - SSN 中没有重复序列(例如 123-12-3123)

java - 如何让 Java 托盘图标消息淡出?

java - JVM 是否在系统中存储内存?如果有,如何清除?

java - 如何使用 Maven 程序集插件将 war 捆绑到 package/.zip 中

java - mkdirs() 在 Gingerbread 上不起作用?

java - 如何关闭 tomcat catalina.out 文件的调试和信息日志?

PHP preg_match 不适用于换行