C++ 如何使用c++;

C++ 如何使用c++;,c++,visual-c++,c++11,C++,Visual C++,C++11,所以问题是我正在写一个代码来检测文本中所有的美国地址。我遇到了这样一个问题:像10.08.2013这样的案例可能是门牌号,因为在我的算法中,我只需使用isdigit()查找数字,而少于5位的则被标记为门牌号。 有没有办法排除这些数字,以免误认为是门牌号?您应该使用正则表达式进行模式匹配。您可以学习如何使用C++来使用正则表达式。p> 因此,对于从文件中检索的每一行,或者无论您如何收集数据,都可以根据模式检查它,以确定它是否是日期 也是一个很好的参考 这大概就是您要查找的内容:“^[0-9]{2}

所以问题是我正在写一个代码来检测文本中所有的美国地址。我遇到了这样一个问题:像10.08.2013这样的案例可能是门牌号,因为在我的算法中,我只需使用isdigit()查找数字,而少于5位的则被标记为门牌号。
有没有办法排除这些数字,以免误认为是门牌号?

您应该使用正则表达式进行模式匹配。您可以学习如何使用C++来使用正则表达式。p> 因此,对于从文件中检索的每一行,或者无论您如何收集数据,都可以根据模式检查它,以确定它是否是日期

也是一个很好的参考


这大概就是您要查找的内容:
“^[0-9]{2}.[0-9]{2}.[0-9]{4}$。”

为什么美国地址和德国日期混在一起?只需在数字周围寻找分隔符。@R.MartinhoFernandes日期的格式并不重要,重要的是如何将其与数字区分开来。@FERY哦,为什么,日期格式几乎是最重要的。如果您不知道日期的格式,则无法执行任务。日期格式是否始终为mm.dd.yyyy?如果是这样,为什么不只是模式匹配呢?你有可能用这种格式得到门牌号吗?如果您这样做了,您可以在有效日期进行筛选。但是如果你得到了一个格式为mm.dd.yyyy的门牌号,这也是一个有效的日期,我想如果没有对字符串进行某种上下文解析,你就会陷入困境。