Python:查找特定单词后跟随的数字(含代码示例)
匹配特定单词前缀后跟任意数字的正则实现
要从文本中提取「指定单词 + 任意数字」的内容(比如从示例文本"your debt is 100 dollars"中匹配"is 100"),可以用反向正则逻辑,先锁定目标单词,再捕获后续数字。
基础实现代码
以匹配"is"后跟数字为例,直接编写正则:
import re text = "your debt is 100 dollars" # 匹配以"is"为前缀的数字组合 result = re.findall(r'\bis\s+\d+\b', text) print(result) # 输出结果: ['is 100']
正则逻辑拆解
\bis\b:用单词边界\b锁定完整的"is"单词,避免误匹配"this"这类单词里的子串"is"\s+:匹配单词与数字之间的一个或多个空白字符(适配空格、制表符等场景)\d+:匹配一个或多个连续数字- 末尾
\b:确保匹配的是完整数字,避免数字后紧跟字母时被错误捕获
动态指定前缀单词的扩展方案
如果需要灵活更换前缀单词,建议用re.escape()处理单词(避免单词含正则特殊字符导致匹配异常),再通过f-string拼接正则:
import re text = "your debt is 100 dollars, and cost is 200 yuan" prefix_word = "is" # 转义特殊字符后构建正则 pattern = re.compile(rf'\b{re.escape(prefix_word)}\s+\d+\b') results = pattern.findall(text) print(results) # 输出结果: ['is 100', 'is 200']
内容的提问来源于stack exchange,提问作者Agustin Tettamanti
相关产品推荐
相关产品推荐

