c# - 如何使用正则表达式查找添加的门牌号码(在地址中)
问题描述
我需要在地址中添加门牌号码。你是怎样做的?
这是我的代码。
string result = string.Empty;
Regex rgx = new Regex(@"(?<houseNumber>[\d]+\-*[\d]+)(-*)(\s?)(?<addition>[0-9a-zA-Z]{1})");
Match match = rgx.Match(fullHouseNumber);
if (match.Success)
{
result = match.Groups["addition"].Value;
}
return result;
举例:
- 50 ABC结果必须是"ABC"。现在我只得到“A” <=>错误的答案!
- 50 A结果必须是"A"。现在我只得到“A” <=> OK
- 50 50结果必须是"50"。现在我得到“5” <=>错误
- 50结果必须是""。现在我只得到"" <=> OK
- 50-10结果必须是"10"。现在我只得到“0” <=>错误
解决方案
您只选择 1 个字符:
(?<houseNumber>[\d]+\-*[\d]+)(-*)(\s?)(?<addition>[0-9a-zA-Z]{1})
^
将其更改为:
(?<houseNumber>[\d]+\-*[\d]+)(-*)(\s?)(?<addition>[0-9a-zA-Z]+)
更新
检查这个:
(?<houseNumber>[\d]+[\s\-](?<addition>[0-9a-zA-Z]+))
推荐阅读
- firebase - SwiftUI + Firebase - 监听器不监听变化?
- python - 有没有办法使用 python 更改预先存在的 word doc 的主题颜色?
- selenium - VS 2017 - UI 自动化 - Keyboard.Sendkeys("sometext") 在 VS 2017 中抛出空异常,因为它在 VS2013 和 VS2015 中工作
- flutter - 使用列表选项,在单个 ID 图像中用作滑块
- python - GCE 上的 Python:连接失败,因为连接的主机未能响应
- oracle - 优化sql select语句(oracle)
- php - preg_replace 不适用于对象变量 PHP
- powershell - 在 powershell 中使用 certreq 在文件中生成私钥
- go - Github 操作在存储库中找不到包
- python - 如何在python中中断