gpt4 book ai didi

c++ - 正则表达式匹配包含 : special characters, 个数字、字母的字符串中的日期

转载 作者:行者123 更新时间:2023-11-30 01:17:52 24 4
gpt4 key购买 nike

我有以下正则表达式来提取日期模式:

  • ^\d{1,2}[-/. ]\d{1,2}[-/. ]\d{1,4}$

此正则表达式匹配以下日期:11/10/2004、19/20/1999 等。但它不匹配我有特殊字符的模式:aa(11/10/2004);,

即使它包含其他“字母、字符数字”,我如何修改它以匹配日期


我删除了 anchor 部分,但仍然无法匹配日期。不匹配:26/11/2004)、25/10/2003)、


C++:

#include <boost/regex.hpp>
#include <iostream>

using namespace std;

int main()
{
string d = "25/10/2003),";
const boost::regex e("\\d{1,2}[-/. ]\d{1,2}[-/. ]\\d{1,4}");
bool x = boost::regex_match(d,e);
if(x)
{
cout <<"found date" << endl;
}

return 0;

}

最佳答案

您可以简单地删除将匹配锚定到字符串 ^$ 开头和结尾的字符:

^.*\d{1,2}[-/. ]\d{1,2}[-/. ]\d{1,4}.*$

DEMO

关于c++ - 正则表达式匹配包含 : special characters, 个数字、字母的字符串中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23489255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com