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

标签 java regex

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

  1. 阿纳纳塔普尔,ATP (15.0)
  2. 库努尔 KNL (25.0)
  3. 海得拉巴,HYD(特伦甘纳邦)(100.0)
  4. 维杰亚瓦达,BZA,南部 (10.0)
  5. Goa Smith(STL 航站楼)(15.0)
  6. 加拿大、新泽西州、帕沃尼亚 (SA) (15.0)
  7. 密苏里州网络城市混合中心 (15.0)
  8. 堆叠高地,密歇根州(南澳州)(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 )

关于java - 需要 Java 中多个大括号的模式匹配帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27729920/

相关文章:

java - 如何在 try-catch block 内重新连接到数据库?

java - 克里奥内特。 RMI。尝试执行远程方法时响应超时

java ftp zip 更好的方法

javascript - 将 CSS 选择器与 Javascript RegExp 相匹配

javascript - 我有输入文本框,应采用 $ 和 £ 货币符号,并在用户键入任何其他特殊字符时发出警告

java - Python 和 Java 之间的 For 循环区别

java - Eclipse 生成 getters 和 setters 不封装

python - 我可以使用 glob 模式查询数据库吗?

c# - 如何在 MongoDB 中搜索各种格式的电话号码?

c# - 使用 Regex 替换特定的字符串出现但忽略其他基于相邻字符的字符串