需要帮助 Java 中的多个大括号的模式匹配
Need help in pattern matching in Java for multiple braces
我需要一个模式匹配字符串,将速度 ex(15.0) 提取到第二组模式匹配中,并将字符串的其余部分从以下字符串提取到第一组中:
- Ananatapur,ATP (15.0)
- Kurnool KNL (25.0)
- 海得拉巴,HYD(特伦甘纳邦)(100.0)
- 维杰亚瓦达,BZA,南部 (10.0)
- Goa Smith(STL 终端)(15.0)
- 加拿大,新泽西州,Pavonia (SA) (15.0)
- 密苏里网络城市混合中心 (15.0)
- 密歇根州堆叠高度 (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 )
我需要一个模式匹配字符串,将速度 ex(15.0) 提取到第二组模式匹配中,并将字符串的其余部分从以下字符串提取到第一组中:
- Ananatapur,ATP (15.0)
- Kurnool KNL (25.0)
- 海得拉巴,HYD(特伦甘纳邦)(100.0)
- 维杰亚瓦达,BZA,南部 (10.0)
- Goa Smith(STL 终端)(15.0)
- 加拿大,新泽西州,Pavonia (SA) (15.0)
- 密苏里网络城市混合中心 (15.0)
- 密歇根州堆叠高度 (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 )