Regex解析地址房屋和公寓号码
本文关键字:公寓 号码 地址 Regex | 更新日期: 2023-09-27 17:58:47
当前我正在使用此regex
private string DigExp = @"[^'d]";
那样:
Regex.Match(Address, DigExp, "")
而字符串地址通常包含字符和数字。。假设地址是"ipsum-lorem 30/9"或"ipsum-lorem 309"我仍然得到309作为两个例子的结果。我需要两个正则表达式来解决这个问题,一个匹配第一个数字,直到/if存在,另一个匹配第二个,第二个应该在字符串末尾/之后,可能根本不存在。
我需要用/将地址号码分为正则表达式组
你能指导我实现我的目标吗?谢谢
通过使用组,您可以使用以下regex来隔离地址字符串的不同部分。以下内容将地址分隔为所有单词,以及可选斜线前后的数字:
((?:[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]+))
您可以很容易地将其分为两组:
('d+)/?('d*)
尝试使用以下模式:
(['d'/'d]+|'d+)
尝试:[a-zA-Z's]*(['d]*)'/?(['d]*)?
。这将得到第一组中的第一部分,以及第二组中/
之后的任何部分。