正則表達式實現對地址第一個區域的字符串截取


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

田家庵區淮河新城二期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個阻止貪婪模式后,肯定不會再多截取了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM