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

时间:2015-01-01 10:23:02

标签: java regex

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

  1. Ananatapur,ATP(15.0)
  2. Kurnool KNL(25.0)
  3. Hyderabad,HYD(Telangana)(100.0)
  4. Vijayawada,BZA,South(10.0)
  5. Goa Smith(STL终端)(15.0)
  6. 加拿大,NJ,Pavonia(SA)(15.0)
  7. 网络城市混合中心,MO(15.0)
  8. Stacking Heights,MI(SA)(15.0)
  9. 任何人都可以帮我解决一下吗?

1 个答案:

答案 0 :(得分:2)

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

^([^)]+\))\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 )