正则表达式实现对地址第一个区域的字符串截取

Posted 小小的蚂蚁,飞翔的梦想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式实现对地址第一个区域的字符串截取相关的知识,希望对你有一定的参考价值。

有如下地址类型的字符串:

田家庵区淮河新城二期17,2,404

兰溪市金圆上都18幢

荔县管池镇

 

要截取出第一个区域的字符串,以上3个截取的值分别为: 田家庵区  兰溪市 荔县

 

对应代码,初始写为

var value = Regex.Match(lc[2], ".+[市区县镇路道街]{1,1}");

后来发现其默认是贪婪模式,如"荔县管池镇",会把后面的镇也截取进去,于是修改为

var value = Regex.Match(lc[2], ".+?[市区县镇路道街]{1,1}");

在公司电脑上仍然会多截取(后在家电脑上测试,又能正确通过)

var value = Regex.Match(lc[2], ".+?[市区县镇路道街]{1,1}?");

添加2个阻止贪婪模式后,肯定不会再多截取了。

 

以上是关于正则表达式实现对地址第一个区域的字符串截取的主要内容,如果未能解决你的问题,请参考以下文章

oracle正则表达式截取某个字符前的数字

如何用正则表达式修改图片路径?

正则表达式截取两个指定字符串之间的内容?

第43天python学习re模块学习

截取ORACLE字符串中的数字

php正则表达式字符串中提取数字,并截取其中的6位