簡體   English   中英

正則表達式解析住所和公寓的地址

[英]Regex to parse address house and apartment numbers

目前我正在使用此正則表達式

private string DigExp = @"[^\d]";

那樣:

Regex.Match(Address, DigExp, "")

而字符串地址通常包含字符和數字。.讓我們說一下,如果地址是“ ipsum lorem 30/9”或“ ipsum lorem 309”,則在兩個示例中我仍然得到309。 我需要兩個正則表達式來解決它,一個正則表達式匹配第一個數字直到/如果存在(如果存在),另一個正則表達式匹配第二個正則表達式,該第二個表達式應該在/后面並在字符串末尾並且可能根本不存在。

我需要使用/分隔成正則表達式組的地址號碼

您能指導我實現目標嗎? 謝謝。

您可以輕松將它們分為兩組:

(\d+)/?(\d*)

嘗試使用以下模式:

([\d\/\d]+|\d+)  

通過使用組,可以使用以下正則表達式隔離地址字符串的不同部分。 下面將地址分為所有單詞,以及可選斜杠之前和之后的數字:

((?:[a-zA-Z]+\s)*)([\d]+)(?:(?:\/)(\d+))?

例如: "ipsum lorem 30/9"變為:

匹配#0長度:16范圍:1-16

ipsum lorem 30/9

組#1長度:12

ipsum lorem

組#2長度:2

30

組#3長度:1

9

注意:遵循正則表達式可以在第四組數字之后匹配單詞:

((?? [a-zA-Z] + \\ s) )([\\ d] +)(?:(?:/)(\\ d +))?((?:\\ s [a-zA-Z] +)

試試: [a-zA-Z\\s]*([\\d]*)\\/?([\\d]*)? 這將在第一組中獲得第一部分,而在第二組中將在/之后獲得任何東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM