当前位置: 首页 > news >正文

购物网站php源代码网站开发数据库动态管理

购物网站php源代码,网站开发数据库动态管理,微信公众号创建平台,保险公司网站正则表达式识别日期 正则表达式识别各种格式的日期 import redef extract_dates(text):# 正则表达式&#xff0c;用于识别常见的日期格式date_pattern r"""(?P<date>(?P<year_only>\d{4}(?![\d年]))| # …

正则表达式识别日期

  • 正则表达式识别各种格式的日期

    import redef extract_dates(text):# 正则表达式,用于识别常见的日期格式date_pattern = r"""(?P<date>(?P<year_only>\d{4}(?![\d年]))|                                       # 单独的年份,如 2012,2017(?P<year>\d{4})[-/年.](?P<month>\d{1,2})[-/月.]?(?P<day>\d{1,2})?[日]?|  # YYYY-MM-DD 或 YYYY/MM/DD 或 YYYY.MM.DD 或 YYYY年MM月DD日(?P<day2>\d{1,2})[-/.](?P<month2>\d{1,2})[-/.](?P<year2>\d{4})|        # DD-MM-YYYY 或 DD/MM/YYYY 或 DD.MM.YYYY(?P<month3>\d{1,2})[-/.](?P<day3>\d{1,2})[-/.](?P<year3>\d{2,4})        # MM-DD-YYYY 或 MM/DD/YYYY 或 MM.DD.YYYY)"""# 使用正则表达式查找日期"""re.VERBOSE是一个Python中的re模块的标志,用于在正则表达式中添加注释。使用re.VERBOSE可以让你在写复杂的正则表达式时更方便地组织你的代码,因为它允许你在正则表达式中使用注释,这样可以增强代码的可读性和可维护性。当你使用re.VERBOSE时,你需要在正则表达式中添加注释,注释可以是单行或多行的字符串。在注释中可以写明正则表达式的作用、匹配逻辑等等,以便于其他人理解和修改代码。"""matches = re.finditer(date_pattern, text, re.VERBOSE)result = []# 将匹配的日期添加到结果列表中for match in matches:
    """date_str = match.group('date'):从匹配结果中提取名为date的捕获组,即整个日期字符串。"""date_str = match.group('date')result.append(date_str)return result# 示例
    text = "这个报告是关于2010年3月3日的事件。昨天,即2023/4/10,我们讨论了2012年的计划。2010年3月,我们启动了一个新项目。"
    print(extract_dates(text))
    

    输出结果

    ['2010年3月3日', '2023', '2010年3月']
    
  • 正则表达式解释、程序解释

    这是一个用于从文本中提取日期的Python程序。程序定义了一个正则表达式**date_pattern来匹配常见的日期格式,然后使用re.finditer()**在给定文本中查找匹配的日期。匹配的日期将添加到结果列表中并返回。

    现在,让我们详细解释**date_pattern**正则表达式中的各个部分:

    1. (?P<date>:这是一个命名捕获组,名为**date**。整个正则表达式的目的是匹配一个完整的日期字符串,这个捕获组将包含最终匹配的日期。
    2. (?P<year_only>\d{4}(?![\d年])):这是一个命名捕获组,名为**year_only。它用于捕获仅包含4位数字的年份(例如2012,2017)。(?![\d年])**是一个否定向前查找,表示年份后面不能是数字或“年”。
    3. |:表示或,用于在正则表达式中表示多个备选项之一。
    4. (?P<year>\d{4})[-/年.](?P<month>\d{1,2})[-/月.]?(?P<day>\d{1,2})?[日]?:这是一个命名捕获组,分别名为**yearmonthday**。这个捕获组用于识别格式为 YYYY-MM-DD、YYYY/MM/DD、YYYY.MM.DD 或 YYYY年MM月DD日的日期。
    5. |:再次表示或,用于在正则表达式中表示多个备选项之一。
    6. (?P<day2>\d{1,2})[-/.](?P<month2>\d{1,2})[-/.](?P<year2>\d{4}):这是一个命名捕获组,分别名为**day2month2year2**。这个捕获组用于识别格式为 DD-MM-YYYY、DD/MM/YYYY 或 DD.MM.YYYY 的日期。
    7. |:再次表示或,用于在正则表达式中表示多个备选项之一。
    8. (?P<month3>\d{1,2})[-/.](?P<day3>\d{1,2})[-/.](?P<year3>\d{2,4}):这是一个命名捕获组,分别名为**month3day3year3**。这个捕获组用于识别格式为 MM-DD-YYYY、MM/DD/YYYY 或 MM.DD.YYYY 的日期。
    9. ):这是命名捕获组**date**的结尾括号。
  • re.find相关

    1. re.find
      re.find(pattern, string)函数可以用于在字符串中查找与正则表达式匹配的第一个子串,并返回匹配的对象。如果没有匹配到任何子串,则返回None。该函数只会返回找到的第一个匹配结果。
    2. re.finditer
      re.finditer(pattern, string)函数可以在字符串中查找与正则表达式匹配的所有子串,并返回一个迭代器。迭代器返回的每个元素都是匹配结果的对象。
    3. re.findall
      re.findall(pattern, string)函数可以用于在字符串中查找与正则表达式匹配的所有子串,并将它们以列表的形式返回。与re.finditer()返回的迭代器不同,re.findall()返回的是包含所有匹配结果的列表。如果没有找到匹配的子串,则返回一个空列表。
      总之,re.find()、re.finditer()和re.findall()函数可以帮助我们在一个字符串中查找与正则表达式匹配的子串,并将它们以不同的形式返回。使用这三个函数可以让我们更加方便地处理复杂的字符串。
http://www.yayakq.cn/news/277868/

相关文章:

  • 建设网站q8555 3807seo培训教程
  • 做网站如何上传apk建筑模板一般多少钱一块
  • html网站建设的步骤浏览网站内下载文件
  • 计算机多媒体毕业设计网站建设任丘网站建设
  • 江西营销网站建设公司网站有哪些
  • 外贸网站平台排行榜wordpress外链批量保存本地
  • 怎么做网上网站肇庆做网约车
  • 网站被k 原因新手做网站教程
  • 在线考试响应式网站模板下载关键seo排名点击软件
  • o2o网站建设最好公司排名上海网站制作开发公司
  • 微信显示个人网站推广qq群的网站
  • 通州企业网站建设石家庄网站建设模板
  • 行业网站系统网站后台模板怎样使用
  • 投资者网站建设做网上贸易哪个网站好
  • 百度官方网站下载安装推广赚钱软件
  • 自学搭建网站wordpress字体格式
  • 网站开发与维护相关课程南通网站建设设计
  • 广东网站建设微信商城运营惠州市建设交易中心网站
  • 如何查询网站空间大小app开发定制的公司哪家好
  • 如何建设商城网站wordpress 收费主题破解版
  • 从零开始学网站建设知乎企业网站策划建设方案
  • sharepoint网站制作今天哈尔滨最新通知
  • html5网站是用什么软件做的网站建设栏目流程
  • 怎样做分类网站郑州网站建设搜索优化
  • 山西营销型企业网站开发自己建设网站平台步骤
  • 网站认证是什么网络营销的定义和特点
  • 玉树商城网站建设彩票网站建设古大学
  • 上海网站建设口碑好兰州装修公司位置
  • 网站排名如何提升重庆石桥铺网站建设公司
  • 硅云wordpress东莞百度网站排名优化