使用正则表达式在Python中统计特定标记词后的词语数量

使用正则表达式在python中统计特定标记词后的词语数量

本文将详细介绍如何在Python中使用正则表达式,精准统计字符串中特定下划线标记词后的词语数量。教程涵盖两种核心场景:一是仅统计下划线词语之后的部分(不包含标记词本身),二是统计从下划线词语开始的所有词语(包含标记词本身)。通过具体的正则表达式模式解析和Python代码示例,帮助读者掌握高效的文本处理技巧。

统计下划线标记词后的词语数量(不包含标记词本身)

当我们需要统计一个字符串中,某个以下划线开头的特定词语之后的所有词语数量时,可以使用正则表达式来精确匹配并提取所需部分。这种方法避免了对下划线词语之前内容的干扰,只关注目标区域。

正则表达式模式

_w+s([ws]+)

模式解析

_: 精确匹配下划线字符。w+: 匹配一个或多个字母、数字或下划线字符。这部分与 _ 结合,用于定位并匹配整个下划线标记词(例如 _Earth)。s: 匹配下划线标记词之后的一个空格。([ws]+): 这是一个捕获组。[ws]: 匹配任何单词字符(字母、数字、下划线)或空格。+: 表示匹配一个或多个 [ws]。整个捕获组的目的是捕获下划线标记词及其后续空格之后的所有单词和空格,直到字符串结束或遇到不匹配的字符。

Python 实现示例

import retest_string = '21 High Street _Earth Mighty Motor Mechanic'pattern = r'_w+s([ws]+)'match = re.search(pattern, test_string)if match:    # match.group(1) 获取捕获组的内容,即下划线词语之后的所有词语和空格    words_after = match.group(1).split()    count = len(words_after)    print(f"在下划线标记词之后找到的词语数量(不包含标记词):{count}")else:    print("未找到下划线标记词或其后没有词语。")# 示例输出:# 在下划线标记词之后找到的词语数量(不包含标记词):3

代码说明

re.search(pattern, test_string): 尝试在 test_string 中查找 pattern 的第一个匹配项。如果找到,返回一个匹配对象;否则返回 None。match.group(1): 如果找到匹配项,此方法用于提取第一个捕获组(即 ([ws]+))所匹配的内容。.split(): 默认情况下,此方法会根据空白字符(空格、制表符、换行符等)分割字符串,并返回一个词语列表。len(words_after): 计算列表中词语的数量。

统计从下划线标记词开始的词语数量(包含标记词本身)

有时,我们可能希望将下划线标记词本身也包含在计数中。在这种情况下,正则表达式的构造需要进行相应调整,确保捕获组能包含下划线标记词。

正则表达式模式

(_w+s[ws]+)

模式解析

(_w+s[ws]+): 这是一个捕获组,它将匹配并捕获从下划线标记词开始的所有内容。_w+: 匹配下划线标记词。s: 匹配标记词后的一个空格。[ws]+: 匹配其后所有单词字符或空格。整个组合 (_w+s[ws]+) 确保了从下划线词语到后续所有词语都被捕获。

Python 实现示例

import retest_string = '21 High Street _Earth Mighty Motor Mechanic'pattern = r'(_w+s[ws]+)'match = re.search(pattern, test_string)if match:    # match.group(1) 获取捕获组的内容,此时包含下划线词语本身    words_inclusive = match.group(1).split()    count = len(words_inclusive)    print(f"从下划线标记词开始的所有词语数量(包含标记词):{count}")else:    print("未找到下划线标记词或其后没有词语。")# 示例输出:# 从下划线标记词开始的所有词语数量(包含标记词):4

代码说明

与前一个示例类似,主要区别在于 pattern 的定义。通过将整个目标匹配部分(包括下划线标记词)放入一个捕获组,match.group(1) 将直接返回包含下划线标记词的完整子字符串,后续的 .split() 和 len() 操作即可得到包含标记词在内的词语总数。

Stable Diffusion 2.1 Demo Stable Diffusion 2.1 Demo

最新体验版 Stable Diffusion 2.1

Stable Diffusion 2.1 Demo 101 查看详情 Stable Diffusion 2.1 Demo

立即学习“Python免费学习笔记(深入)”;

注意事项与总结

选择合适的模式: 核心在于明确你的计数需求——是否需要包含下划线标记词本身。根据这一需求选择相应的正则表达式模式。re.search 与 re.findall: 在本教程的场景中,我们通常关注第一个下划线标记词及其后续词语。re.search() 查找第一个匹配项并返回一个匹配对象,其 group(1) 方法能方便地提取我们所需的部分。如果使用 re.findall(),它会返回所有非重叠匹配的列表,但对于本例,re.search 配合捕获组是更直接和推荐的方法。字符串分割: str.split() 方法默认以任意空白字符为分隔符,并会处理连续的空白字符,这对于统计词语数量非常方便。边界情况:如果字符串中不存在下划线标记词,re.search 将返回 None,应进行相应的错误处理。如果下划线标记词后没有其他词语(例如 ‘_Earth’),则第一个模式的 ([ws]+) 将不匹配,match 会是 None。第二个模式如果只有 _Earth 也会是 None。因此,在代码中添加 if match: 判断是必要的。对于更复杂的词语定义(例如包含标点符号的词语),可能需要调整 w 或 [ws] 的定义,例如使用 [a-zA-Z0-9_’-]+ 来包含连字符和撇号,或者在分割后进一步处理。

通过掌握这些正则表达式技巧,你可以有效地处理Python中的字符串,实现精准的词语计数和信息提取。

以上就是使用正则表达式在Python中统计特定标记词后的词语数量的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/905560.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月28日 22:55:38
下一篇 2025年11月28日 22:58:07

相关推荐

  • 以太坊ETH属于哪条链?以太坊是波场链吗?

    以太坊和波场是两条完全独立的公链。以太坊是其自有链,绝非波场链。虽然两者都是支持智能合约的知名平台,但它们在技术路线、生态重点和社区文化上各具特色。对于普通用户而言,在进行转账或与应用交互时,务必确认好使用的是哪个网络(例如ERC-20代表以太坊,TRC-20代表波场),以确保资产安全。 一、核心区…

    2025年12月8日
    000
  • 一文读懂:稳定币到底是指什么

    稳定币是价值稳定的加密货币,通过锚定美元等资产保持价格稳定,解决加密市场波动性问题。其核心作用包括提供交易媒介、价值储存和记账单位,支持日常支付与避险需求。主要类型有三:1. 法币抵押型(如USDT、USDC),机制简单但依赖中心化机构;2. 加密资产抵押型(如DAI),去中心化程度高但需超额抵押;…

    2025年12月8日
    000
  • 稳定币为何重要?全面认识USDT、USDC与DAI

    在价格剧烈波动的加密货币世界中,稳定币提供了一种至关重要的价值锚,它与美元等法定货币挂钩,有效对冲市场风险。本文将深入探讨稳定币的核心价值,并详细介绍三种主流稳定币usdt、usdc和dai,帮助你全面理解它们的运作机制、优劣与区别。 2025年稳定币交易所: 欧易okx官网直达: 币安官网直达: …

    2025年12月8日
    000
  • 什么是加密货币ETF?全面解析比特币现货ETF运作机制

    加密货币交易所交易基金(etf)为投资者提供了一种通过传统证券交易所间接投资比特币等数字资产的便捷渠道。近期美国证券交易委员会(sec)批准现货比特币etf,标志着加密货币正式融入主流金融体系,极大地降低了普通投资者的参与门槛。 2025年主流比特币交易所: 欧易okx:   币安binance: …

    2025年12月8日
    000
  • 区块链分叉是什么意思?软分叉与硬分叉区别

    区块链分叉分为硬分叉和软分叉两种类型。1. 硬分叉是不兼容旧规则的彻底变更,要求所有节点强制升级,否则将分裂出独立的新链,如比特币现金的诞生;2. 软分叉则是向后兼容的升级,旧节点仍可接受新区块,升级为可选,如比特币的隔离见证升级;3. 硬分叉可能导致网络永久分裂,而软分叉不会;4. 硬分叉风险较高…

    2025年12月8日
    000
  • 什么是Utility Token和Security Token?加密投资者必懂的基础知识

    Utility Token与Security Token的根本区别在于权利属性和价值来源。1. Utility Token代表“使用权”,用于访问区块链平台或服务,其价值取决于生态系统的活跃度;2. Security Token代表“所有权”,作为数字化金融工具,其价值与资产表现挂钩;3. 监管方面…

    2025年12月8日
    000
  • 稳定币安全吗?稳定币USDC与USDT的区别是什么?

    作为连接加密世界与现实法币的关键桥梁,稳定币已成为数字资产领域不可或缺的基础设施。然而,面对市场上琳琅满目的稳定币,尤其是USDT和USDC这两大巨头,许多用户会感到困惑:它们真的安全吗?两者之间又该如何选择?本文将深入剖析稳定币的安全性,并对USDC与USDT进行全方位对比。 稳定币并非绝对安全,…

    2025年12月8日
    000
  • 稳定币USDC是什么?稳定币怎么运作?为何2025年稳定币热度如此高?

    USDC成为2025年市场焦点的核心原因包括:1、领先的监管合规性,Circle积极拥抱监管并持有多种国际支付牌照,使其成为传统机构进入加密领域的首选;2、应用场景从交易工具扩展至跨境支付、企业结算等领域,具备高效低成本优势;3、作为DeFi生态的基石资产,广泛用于借贷、质押和流动性提供;4、获得V…

    2025年12月8日
    000
  • USDT、USDC、BTC三者有什么区别?谁值得长期持有?

    BTC、USDT和USDC是加密生态中功能互补的三种核心资产。BTC是高风险高回报的“矛”,目标是财富增长;而稳定币则是防御性的“盾”,目标是保值和提供流动性。对于寻求长期资本增值的投资者,BTC是核心选项。对于希望在加密市场中灵活操作、管理风险或赚取稳定收益的用户,稳定币是必不可少的工具,其中US…

    2025年12月8日
    000
  • 比特币和比特币合约区别

    比特币与比特币合约的核心区别在于本质属性、交易目的及风险特征。1. 本质属性上,比特币是去中心化数字资产,具有实际价值;比特币合约是金融衍生品,以比特币价格为标的。2. 交易目的与方式上,比特币用于投资或支付,需实际持有;合约用于对冲或杠杆投机,无需持有实物。3. 风险与收益上,比特币价格波动大但风…

    2025年12月8日
    000
  • 比特币和比特币合约的风险特征具体有哪些不同?

    比特币(现货)和比特币合约的风险特征存在显著差异,核心区别源于两者的交易属性。1. 价格波动风险的传导方式不同:现货盈亏取决于买入和卖出价差,无杠杆放大效应;而合约因杠杆作用,价格波动被成倍放大,可能导致爆仓。2. 持仓风险不同:现货持有成本低、无强制平仓风险;而合约需维持保证金,存在爆仓可能,并有…

    2025年12月8日
    000
  • 稳定币DAI和USDC哪个好_DAI适合长期持有吗

    稳定币DAI和USDC哪个好_DAI适合长期持有吗 dai和usdc都是市面上非常流行的稳定币,二者各具特点,广泛应用于加密资产交易、借贷、资产避险等领域。比较两者优劣,需结合其发行机制、稳定性和适用场景进行深入了解。 Binance币安 官网直达: 安卓安装包下载: 欧易OKX ️ 官网直达: 安…

    2025年12月8日
    000
  • 什么是以太坊?智能合约平台与比特币的本质差异

    以太坊(ethereum)是一个去中心化的开源区块链平台,支持智能合约功能。它不仅仅是一种数字货币,更是一个允许开发者构建和部署各种去中心化应用程序(dapps)的基础设施。通过以太坊,用户可以在没有中央权威机构的情况下进行交易、管理数字资产和执行协议。 以太坊概述 1. 以太坊被设计为一个全球计算…

    2025年12月8日
    000
  • 什么是以太坊?2025最新版ETH与BTC对比分析

    以太坊与比特币,作为加密货币世界的两大支柱,各自承载着不同的设计理念和应用价值。虽然它们都基于区块链技术,但其核心功能、技术架构及生态系统存在显著差异。本篇文章将深入探讨以太坊的本质,并对比分析其与比特币在当前(假设为2025年最新状态)的主要特点。 以太坊的诞生与特性 1. 以太坊是一个开源的、基…

    2025年12月8日
    000
  • 稳定币USDC安全吗_USDC与USDT的区别在哪

    稳定币USDC安全吗_USDC与USDT的区别在哪 usdc是由美国公司circle与coinbase联合推出的美元稳定币,其核心目标是实现1:1锚定美元、保障资产安全、提升透明度。与市场占有率最高的usdt(tether)相比,usdc在设计机制、储备模式、监管路径等方面存在诸多差异。本文将围绕其…

    2025年12月8日
    000
  • 什么是比特币?与以太坊(eth)有什么区别?比特币全面介绍

    比特币,作为世界上第一个且市值最大的加密货币,自2009年由中本聪(satoshi nakamoto)这一神秘实体推出以来,便彻底改变了我们对货币和金融系统的认知。它不依赖于任何中央机构发行或管理,而是通过密码学原理和分布式网络实现去中心化的交易。 比特币:数字黄金的诞生 1. 比特币是一个去中心化…

    2025年12月8日
    000
  • 以太坊 (ETH)是什么?与比特币有什么区别?以太坊全面解析

    数字货币领域,以太坊 (ethereum) 是一个引人注目的区块链平台。它不仅是一种加密货币,更是一个庞大的去中心化计算网络。其原生代币是以太币(eth),在整个网络中扮演着关键角色。以太坊的设计初衷是超越简单的价值转移,构建一个能够运行复杂应用程序的全球性平台。 以太坊是什么? 以太坊,作为一个开…

    2025年12月8日
    000
  • 稳定币USDT那个交易所最便宜_USDT ERC20 和 TRC20 区别详解

    稳定币USDT哪个交易所最便宜_USDT ERC20 和 TRC20 区别详解 usdt作为全球使用最广泛的稳定币之一,在各大交易所都有广泛流通,但不同平台之间的买卖价格、充值提币手续费及链上处理速度各不相同。了解不同交易所与链上版本的差异,是优化交易成本与效率的关键。 Binance币安 官网直达…

    2025年12月8日
    000
  • 代币解锁与加密货币争夺:究竟是怎么回事?

    了解代币解锁的狂野世界、即将上线的加密项目以及潜在的获利机会。保持信息灵通,走在趋势前面! 嘿,加密圈的朋友们!咱们今天来聊聊代币解锁那些事,理解这些内容对于走在趋势前面至关重要。现在的市场就像过山车一样,但我们会尽量让你坐稳了。 代币解锁 101:基础知识 那么,什么是代币解锁?简单来说,就是此前…

    2025年12月8日
    000
  • B安交易所官方正版app在哪里下载最安全可靠(官网入口指南)

    要安全下载B安官方App,请优先通过官网或官方二维码获取。1.访问B安官方中文官网,点击导航栏或底部【下载】按钮选择对应版本;2.使用官网提供的二维码扫码下载;3.%ignore_a_1%用户在App Store搜索“Binance”并认准开发者“Binance Inc.”,安卓用户建议通过官网跳转…

    2025年12月8日
    000

发表回复

登录后才能评论
关注微信