我有两种格式的地址:
SomeHouse,
Holbrook,
Belper,
Derbyshire,
DE56 0RR
和
SomeHouse,
Holbrook,
Belper,
Derbyshire,
DE56 0RR(123123123123)
该数字仅出现在末尾,始终位于括号中且始终为 12 位数字。
我正在尝试获取一个正则表达式来匹配两个组...地址和号码(如果存在)。
这是一个令人头疼的事情(对于我没有经验的自己来说),因为我无法让我的表达在这两种类型的地址上工作。
我有
(?<address>.*)(?<bracketsandnum>\((?<num>[0-9]{12})\))$
它还使用一个组来匹配括号 - 不太确定我需要那个位:)当然不是作为一个命名组。
请多多指教!
干杯, 詹姆斯。
更新
我使用了Martinho提供的答案,Qtax。非常感谢他们。 现在我明白了一点,我发现我的问题类似于以下内容:
最佳答案
使用 ?
使第二组可选,并在第一组中使用非贪婪匹配(通过使用 ?
修改 *
) 。像这样的事情:
^(?<address>.*?)(?:\((?<num>\d{12})\))?$
关于c# - 用于匹配地址和可选后缀的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6663258/