Java利用正则表达式提取城市名称和编码
时间: 2023-07-30 08:12:08 浏览: 297
使用正则表达式取出数据
可以使用正则表达式来提取城市名称和编码,假设城市名称和编码的格式为:城市名称(城市编码),例如:北京市(110000)。
以下是Java代码示例:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CityCodeExtractor {
public static void main(String[] args) {
String text = "上海市(310000)是一个美丽的城市,北京市(110000)也是一个美丽的城市。";
Pattern pattern = Pattern.compile("(.+?)((\\d{6}))");
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
String cityName = matcher.group(1);
String cityCode = matcher.group(2);
System.out.println(cityName + ": " + cityCode);
}
}
}
```
输出结果为:
```
上海市: 310000
北京市: 110000
```
其中正则表达式 `(.+?)((\\d{6}))` 的含义为:
- `(.+?)` 匹配任意字符(非贪婪模式),并捕获到第一个括号中,表示城市名称。
- `(` 匹配左括号。
- `(\\d{6})` 匹配6位数字,表示城市编码,并捕获到第二个括号中。
- `)` 匹配右括号。
阅读全文