GG资源网

求个正则表达式

问题描述:

地图信息精确到街道,如何截取省市县区的名字?

中国四川省成都市双流县文化路
中国北京市大兴区文化街
中国四川省成都市都江堰市建设路

文本如上,想要的输出为:
四川 成都 双流
北京 大兴
四川 成都 都江堰

网友观点:

[code=\\\"java\\\"] public static void main(String[] args) {
String[] addresses = { \\\"中国四川省成都市双流县文化路\\\", \\\"中国北京市大兴区文化街 \\\",
\\\"中国四川省成都市都江堰市建设路\\\" };
for (String address : addresses) {
System.out.println(testAddress(address));
}

超详细的正则表达式(上:正则表达式语法)

正则表达式定义,又称规则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE),正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。一句话说就是匹配有规律的东西

一:正则符号

分类 符号
基础正则 “^”,“$”,“.”,“*”,“[]”
扩展正则 “+”,“|”,“()”,“{}”,“?”
一些语言的的特殊扩展(比如perl,这部分就不讲了)

二:正则表达式和通配符的区别

分类 用途
正则表达式(regular expression) grep,sed,swk三种命令,以及一些高级语言,是用来在各种方面进行过滤的
通配符(pathname extension) 用来匹配文件名的(比如*),大部分命令都支持

当然,这两种在某些方面重合度很高,不用太过在意区别,正则表达式功能更强大。

三:基础正则

******一下所有演示都会以这个名叫test.txt文件作为基础(随便写的乱码,更能体现出正则表达式)

  1. ^... 以“...”开头的行,例如^as,则表示以as开头的行

执行grep “^as”test.txt就可以得到以下结果

2. ...$ 以“...”结尾的行,例如 ds$

执行grep “ds$”test.txt得到以下结果

3. ^$ 开头结尾放一起,表示空行

例如grep -n '^$' test.txt(grep的-n表示显示行号)

4. “.”表示任意一个字符,

例如grep -n '.' test.txt (表示空行外的所有行)

5. “*”表示前一个字符连续出现多次, 可以是0次。

例如grep -n '3*' test.txt(找出含有至少0次3的行)

这时有人就有疑惑了,只有第3行有两个3,为什么所有行都显示了?

因为所有行其它行都有0个3,所以所有行都显示了。

要想找出至少有一个3的行,应该这么做

6. “.*”表示所有字符(包括空行)

例如grep -n '.*' test.txt可以显示出文件所有行

7. “[]”, 表示匹配中括号中的任意一个字符,注意, []中的所有字符都会被当成字符来匹配,比如.,|

例如:grep -n '[0-9]' test.txt,选出了包含数字的行

——————————————————————————————————————

四:扩展正则(扩展正则对于grep需要用egrep或grep -E)

  1. “+”前一个字符连续出现了至少一次。

例如grep -En '3+' test.txt

2. "|" 表示或者

例如 grep -En 'asd | fas' 就表示选出包含asd或fas的行

3. “()”被括起来的内容相当于一个整体

比如grep -En 'as(2|d)' test.txt

4. “{}” 表示连续出现,例如 ‘a{n, m}’,表示a连续出现至少n次,至多m次

例如grep -En '[0-9]{2, 5}' test.txt

5. “?”表示连续出现0次或1次

例如grep -En '1?23' test.txt

最后,我创建了一个商业级C++技术群,里面有各种C++资料。

我也会在里面解决各种问题,从开发到部署。

也包括正则表达式

群号是361863861

由于网站搬家,部分链接失效,如无法下载,请联系站长!谢谢支持!
1. 带 [亲测] 说明源码已经被站长亲测过!
2. 下载后的源码请在24小时内删除,仅供学习用途!
3. 分享目的仅供大家学习和交流,请不要用于商业用途!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 本站所有资源来源于站长上传和网络,如有侵权请邮件联系站长!
6. 没带 [亲测] 代表站长时间紧促,站长会保持每天更新 [亲测] 源码 !
7. 盗版ripro用户购买ripro美化无担保,若设置不成功/不生效我们不支持退款!
8. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
9. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
10.如果您购买了某个产品,而我们还没来得及更新,请联系站长或留言催更,谢谢理解 !
GG资源网 » 求个正则表达式

发表回复

CAPTCHAis initialing...