java - Java正则表达式

标签 java regex

有一个字符串:

_xdyjp_bn_qnp_00:00:05,94_00:00:11,41 尼亚加拉大军

想要将这三个部分分开:

  1. _xdyjp_bn_qnp_
  2. 00:00:05,94_00:00:11,41

认为合理的方法是找到一个可以匹配数字开头的正则表达式,这可以帮助我区分:

  1. _xdyjp_bn_qnp
  2. 00:00:05,94_00:00:11,41 亲爱的 friend 们

第二个可以使用 .split("") 溢出。但问题是我无法使用可以执行上述操作的正则表达式。

任何帮助都会很棒!

正则表达式新手。

最佳答案

你可以使用类似的东西:

public static void main(String[] args) {

  String line = "_xdyjp_bn_qnp_00:00:05,94_00:00:11,41 يلجأ النظام السوري إلى استخدام ذخائر عنقودية لقمع الاحتجاجا";

  String pattern = "(.*?)(\\d.*?)\\s(.*)";

  Pattern r = Pattern.compile(pattern);

  Matcher m = r.matcher(line);
  if (m.find( )) {
     System.out.println("Found value: " + m.group(1) );
     System.out.println("Found value: " + m.group(2) );
     System.out.println("Found value: " + m.group(3) );
  }
}

说明:

() 之间的规则涉及您要捕获的组。

  • 第 1 组:(.*?) - 直到下一个元素第一次出现之前的所有内容
  • 第 2 组:(\\d.*?)\\s - 第一个数字和第一个空格之间的所有内容
  • 第 3 组:(.*) - 其他所有内容

关于java - Java正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34707178/

相关文章:

java - 如何连接 Hibernate 和 MySQL

regex - sed中的“-n”实际上是什么意思?

Javascript + REGEX 从字符串中获取第一个非零数字

Java 注释在奇怪的地方

java - 所有 JDK 中的 java 编译器都一样吗?

java - 在 Java 中使用 REGEX 解析 XML

android - Regex Number 支持 ","或 "/"

regex - 如何使fail2ban failedregex工作( ".*"有问题?)?

JavaScript 正则表达式解析 URL 数组

java - Java 中的 OpenCV EAST 文本检测器实现