`

用正则匹配分离省市区等

 
阅读更多
可能的情况:
['韩国','北京邮电大学','江西省','青海省西宁市','山东省枣庄市滕州区','内蒙古呼和浩特市','广西河池市','重庆市璧山县','北京','北京东城区']

需要的结果最下面

北京市,上海市,天津市,重庆市
内蒙古自治区,新疆维吾尔族自治区,广西壮族自治区,宁夏回族自治区,西藏自治区
香港特别行政区,澳门特别行政区

[北京,上海,天津,重庆]
[内蒙古|新疆|广西|宁夏|西藏|香港|澳门|北京|上海|天津|重庆]

match(/.*?省$/)
match(/.*?省.*?市$/)
match(/.*?省.*?市.*?区$/)
match(/.*?市.*?县$/)


SPLITE_ARRAY = ['韩国','北京邮电大学','江西省','青海省西宁市','山东省枣庄市滕州区','内蒙古呼和浩特市','广西河池市','重庆市璧山县','北京','北京东城区']
  def self.split_str(str)
    arr = []
    case  str
      when /(.*?省$)/
        arr << $1
      when /(.*?省)(.*?市)$/
        arr  << $1 << $2
      when /(.*?省)(.*?市)(.*?区)$/
        arr << $1 << $2  << $3
      when /^(.*?市)(.*?县)$/
        arr << $1 << $2
      when /(内蒙古|新疆|广西|宁夏|西藏|香港|澳门|北京|上海|天津|重庆)(\w+)/
        arr << $1 << $2
      else
        arr << str
    end
  end



  >>
  Cart::SPLITE_ARRAY.each{|e| p Cart.split_str(e) }

["韩国"]
["北京", "邮电大学"]
["江西省"]
["青海省", "西宁市"]
["山东省", "枣庄市", "滕州区"]
["内蒙古", "呼和浩特市"]
["广西", "河池市"]
["重庆市", "璧山县"]
["北京"]
["北京", "东城区"]
=> ["韩国", "北京邮电大学", "江西省", "青海省西宁市", "山东省枣庄市滕州区", "内蒙古呼和浩特市", "广西河池市", "重庆市璧山县", "北京", "北京东城区"]
分享到:
评论

相关推荐

    PHP简单实现正则匹配省市区的方法

    3. 第三部分匹配区、县、镇、乡和街道。 在实际使用中,我们通常需要分别获取省、市、区这三个级别的信息。因此,代码中使用了多次`preg_match`,每次匹配一个级别。每次匹配后,如果成功,就从原始地址字符串中移...

    Android常用字符串匹配正则

    isMobileSimple : 验证手机号(简单) isMobileExact : 验证手机号(精确) isTel : 验证电话号码 isIDCard15 : 验证身份证号码15位 isIDCard18 : 验证身份证号码18位 ...getReplaceAll : 替换所有正则匹配的部分

    随风正则匹配工具 v1.0.0.0.zip

    随风正则匹配工具支持多语言,自动生成正则文本,根据语言的不同,生成不同的执行语法,匹配成功后直接复制后可到所属语言直接使用。 随风正则匹配工具功能: 一:支持多语言,目前支易、PHP、JSP等 二:自动生成...

    正则匹配小工具源码.zip

    正则匹配小工具源码.zip正则匹配小工具源码.zip正则匹配小工具源码.zip正则匹配小工具源码.zip正则匹配小工具源码.zip正则匹配小工具源码.zip正则匹配小工具源码.zip正则匹配小工具源码.zip正则匹配小工具源码.zip...

    关于在LABVIEW中使用正则匹配公式.vi

    在labview中使用正则匹配模式很简单,难的就是使用正则表达式。很多人都搞不明白,查了很多资料还是不太明白。实际上就是一些类似通配符在作怪和其他语言也差不多。附件带上了,可以研究研究,构造正则表达式的方法...

    随风正则匹配工具

    使用过程中,用户可以根据需求调整工具的各项设置,如匹配模式、忽略大小写、全局匹配等,以达到最佳的匹配效果。 总的来说,随风正则匹配工具是IT专业人士进行文本处理工作时的一款得力助手,它简化了正则表达式的...

    全角数字正则匹配后输出半角数字

    全角数字正则匹配后输出半角数字,可以把日期字符串中的全角转换成半角,又便于转换成日期格式

    易语言正则匹配网页链接

    通过阅读和学习这段源码,你可以了解到如何在易语言中使用正则表达式来解析和处理网页链接,这对于网络爬虫、网页分析等项目非常有帮助。如果你是初学者,这个例子会是一个很好的起点,帮助你掌握易语言和正则表达式...

    易语言正则表达式类匹配中文

    正则表达式是用于匹配字符串模式的一种强大工具,它使用特定的语法来描述字符串的特征,如单个字符、字符集、重复次数等。在易语言中,正则表达式类提供了多种方法来操作和分析字符串: 1. **创建**:创建正则...

    易语言正则匹配小工具

    正则表达式的核心在于模式匹配,例如,我们可以用它来检查一个字符串是否符合特定的格式,如邮箱地址、电话号码等。在易语言中,这通常涉及到对字符串函数的调用,如“查找”、“替换”等,配合正则表达式库,实现对...

    易语言正则万能匹配

    本文将深入探讨易语言正则万能匹配的相关知识点,包括正则表达式的基本概念、元字符转义以及相关的函数使用。 首先,我们需要理解正则表达式(Regular Expression)的概念。正则表达式是一种模式,用于在字符串中...

    JavaScript正则表达式匹配 div style标签

    正则表达式是处理字符串的强大工具,它允许我们对字符串进行匹配、搜索、替换等操作。在JavaScript中,正则表达式以斜杠“/”包围的形式出现,例如`/pattern/flags`。在处理HTML文档时,经常会遇到需要从HTML代码中...

    JAVA正则匹配工具

    常用的绿色的正则匹配工具,平常一直用的。很好用分享一下。

    Go-gohs-Ladon海量正则快速匹配给定一行字符串

    - **附加数据返回**:除了返回匹配的正则表达式外,该库还能提供附加的数据,如匹配到的子串、捕获组等,这对于后续的数据处理非常有用。 - **灵活的接口**:gohs-ladon提供了简单易用的API,使得集成到现有项目中...

    正则匹配字符串中是否包含网址

    正则匹配字符串中是否包含网址,跟微信的匹配规则相似。有需要的小伙伴可以下载来试一下,规则基本跟微信的匹配规则相似。

    侠客正则匹配工具

    侠客正则匹配工具

    简单帅气正则匹配小工具

    正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和提取字符串模式。它在编程语言中扮演着至关重要的角色,例如Java、Python和C++。"简单帅气正则匹配小工具" 提供了一个直观易用的界面,使得用户能够更加...

    C的正则匹配

    在IT领域,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。本文将深入探讨C语言中的正则匹配,包括基本概念、API使用及其实现原理。我们将通过分析`regex.c`源码来了解其...

    javascript正则匹配页面关键字

    在网页开发中,我们常常需要通过正则表达式来匹配页面上的关键字,以实现诸如搜索高亮、关键词提取等功能。下面我们将详细探讨JavaScript中的正则表达式以及如何在实际应用中进行关键字匹配。 1. 正则表达式基础 -...

Global site tag (gtag.js) - Google Analytics