我有一个地址字段,我想在街道名称和房屋号码后缀中分开,地址(街道名称)的第一部分不是问题,但是房屋号码后缀的第二部分有点棘手。
粗体是我要选择的部分:
这是我在c#中使用的正则表达式代码只输出门牌号后缀,但到目前为止没有选择粗体部分的运气:
{
string sNum = AdField;
string sRep = @"\s(\d[^\s]*[ A-Z]\w*)?(\d\w\s)\s?(.+)";
string output = Regex.Match(sNum, sRep).Value;
return output;
}
答案 0 :(得分:4)
我认为你可以用这个demo来做到这一点 正则表达式是
'/^[\w-]{1,30}\z/'
答案 1 :(得分:0)
[a-z]+ ?([0-9]+ ?\-?[a-z]{0,2})
<强> Explaination 强>
[a-z]+
抓住街道名称的最后一部分
?
观察?
前面的空格意味着1或0个空格
[0-9]+
1个或更多数字
?
另一个可选空间
\-?
可选短划线( - )
[a-z]{0,2}
0到2个字母