返回

正则表达式教程:匹配中国省份

正则表达式

一、正则解释

正则表达式:

/^浙江|上海|北京|天津|重庆|黑龙江|吉林|辽宁|内蒙古|河北|新疆|甘肃|青海|陕西|宁夏|河南|山东|山西|安徽|湖北|湖南|江苏|四川|贵州|云南|广西|西藏|江西|广东|福建|台湾|海南|香港|澳门$/

说明:

  • ^ 匹配字符串的开始。
  • 浙江|上海|北京|天津|重庆|黑龙江|吉林|辽宁|内蒙古|河北|新疆|甘肃|青海|陕西|宁夏|河南|山东|山西|安徽|湖北|湖南|江苏|四川|贵州|云南|广西|西藏|江西|广东|福建|台湾|海南|香港|澳门 匹配中国 34 个省、直辖市、特别行政区。
  • $ 匹配字符串的结束。

二、使用场景

此正则表达式可用于以下场景:

  • 从文本中提取中国省份。
  • 验证用户输入的省份是否有效。
  • 过滤包含特定省份的数据。

三、代码示例

JavaScript

const regex = /^浙江|上海|北京|天津|重庆|黑龙江|吉林|辽宁|内蒙古|河北|新疆|甘肃|青海|陕西|宁夏|河南|山东|山西|安徽|湖北|湖南|江苏|四川|贵州|云南|广西|西藏|江西|广东|福建|台湾|海南|香港|澳门$/;
const text = "浙江,台湾";
console.log(regex.test(text)); // true

Java

import java.util.regex.Pattern;

public class RegexDemo {

    public static void main(String[] args) {
        String regex = "^浙江|上海|北京|天津|重庆|黑龙江|吉林|辽宁|内蒙古|河北|新疆|甘肃|青海|陕西|宁夏|河南|山东|山西|安徽|湖北|湖南|江苏|四川|贵州|云南|广西|西藏|江西|广东|福建|台湾|海南|香港|澳门$/";
        String text = "浙江,台湾";
        Pattern pattern = Pattern.compile(regex);
        System.out.println(pattern.matcher(text).matches()); // true
    }
}

PHP

$regex = '/^浙江|上海|北京|天津|重庆|黑龙江|吉林|辽宁|内蒙古|河北|新疆|甘肃|青海|陕西|宁夏|河南|山东|山西|安徽|湖北|湖南|江苏|四川|贵州|云南|广西|西藏|江西|广东|福建|台湾|海南|香港|澳门$/';
$text = "浙江,台湾";
echo preg_match($regex, $text) ? 'true' : 'false'; // true

Python

import re

regex = r'^浙江|上海|北京|天津|重庆|黑龙江|吉林|辽宁|内蒙古|河北|新疆|甘肃|青海|陕西|宁夏|河南|山东|山西|安徽|湖北|湖南|江苏|四川|贵州|云南|广西|西藏|江西|广东|福建|台湾|海南|香港|澳门
import re

regex = r'^浙江|上海|北京|天津|重庆|黑龙江|吉林|辽宁|内蒙古|河北|新疆|甘肃|青海|陕西|宁夏|河南|山东|山西|安徽|湖北|湖南|江苏|四川|贵州|云南|广西|西藏|江西|广东|福建|台湾|海南|香港|澳门$'
text = "浙江,台湾"
print(bool(re.match(regex, text))) # True
#x27; text = "浙江,台湾" print(bool(re.match(regex, text))) # True