需要帮助 Java 中的多个大括号的模式匹配

Need help in pattern matching in Java for multiple braces

我需要一个模式匹配字符串,将速度 ex(15.0) 提取到第二组模式匹配中,并将字符串的其余部分从以下字符串提取到第一组中:

  1. A​​nanatapur,ATP (15.0)
  2. Kurnool KNL (25.0)
  3. 海得拉巴,HYD(特伦甘纳邦)(100.0)
  4. 维杰亚瓦达,BZA,南部 (10.0)
  5. Goa Smith(STL 终端)(15.0)
  6. 加拿大,新泽西州,Pavonia (SA) (15.0)
  7. 密苏里网络城市混合中心 (15.0)
  8. 密歇根州堆叠高度 (SA) (15.0)

任何人都可以帮我解决这个问题吗?

您可以使用此正则表达式进行匹配:

^([^)]+\))\s+\(([^)]+)\)

并使用第 1 组和第 2 组。

RegEx Demo

Java 正则表达式:

Patter p = Pattern.compile( "^([^)]+\))\s+\(([^)]+)\)" );

解释:

^         - start of the string
([^)]+\)) - 1st Capturing group ([^)]+\)). [^)]+\) matches anything but ) followed by a )
\s+\(     - Match 1 or more white-spaces followed by (
([^)]+)   - 2nd Capturing group ([^)]+). [^)]+\) matches anything but )
\)        - Match lliteral )